[英]How do I save settings using NSUserdefaults
我正在制作一個小費計算器,要求是要有一個設置頁面才能與計算器一起使用。 在計算器中,當選擇每個選項時,由分段控件實現三個選項,即筆尖的值和總變化的值。 在我的設置標簽中,我希望用戶可以保存其默認小費百分比。 我知道我需要使用NSUserdefaults,但是我不知道如何使用兩個不同的頁面(或一個頁面)來執行此操作。 如果我想實現的目標不清楚,請讓我知道我已盡力徹底解釋了它。
這是視圖控制器的代碼:
@IBAction func onEditingChanged(sender: AnyObject) {
var tipPercentages = [0.18, 0.2, 0.22]
let tipPercentage = tipPercentages[tipControl.selectedSegmentIndex]
let billAmount = billField.text!._bridgeToObjectiveC().doubleValue
let billAmt = billAmount
let tip = billAmt * tipPercentage
let total = billAmt + tip
tipLabel.text = String(format:"$%.2f", tip)
totalLabel.text = String(format:"$%.2f", total)
}
這是我的settingsViewController:
import UIKit
class SettingsViewController: UIViewController {
@IBOutlet weak var defaultTipControl: UISegmentedControl!
@IBAction func actDefaultTipCont(sender: AnyObject) {
var tipPercentages = [0.18, 0.2, 0.22]
var tipPercentage = [defaultTipControl.selectedSegmentIndex]
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(tipPercentage, forKey: "tippingDefault")
defaults.setInteger(123, forKey: "tippingInteger")
defaults.synchronize()
}
我只是在和settingsViewController搞混,試圖使其正常工作,可能必須全部重做。 這是兩個不同頁面的視圖圖片:
提前謝謝您的幫助!
要保存然后檢索數據,您想要執行以下操作:
let valueToSave = tipAmount;
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(valueToSave, forKey: "tipAmount")
然后檢索它並在您的主控件上使用它(例如),執行以下操作:
let defaults = NSUserDefaults.standardUserDefaults()
tipAmount = defaults.objectForKey("tipAmount")
valueForKey方法返回您之前在該鍵中保存的任何內容
NSUserdefaults基本上只是一個字典,它將在不同的啟動中持續存在,因此只需檢查是否已保存了用於訪問它的特定鍵的值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.