簡體   English   中英

如何使用NSUserdefaults保存設置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM