如何检索存储在NSUserDefaults中的所有值?

时间:2016-12-08 22:50:40

标签: ios swift3 nsuserdefaults

我正在创建一个“保存”按钮,用户点击该按钮并使用NSUserDefaults存储信息。当用户再次加载应用程序并单击“显示”按钮时,应显示之前存储的所有信息。例如

星期一用户插入值5次:20,30,40,50,60

周二没什么。

周三没什么。

周四同一位用户插入:30,20,50,80

星期五的价值是:40,20

现在星期六,当用户点击显示时,数据应显示: 20,30,40,50,60,30,20,50,80,40,20

到目前为止我的编码是:

@IBOutlet weak var dayTB: UITextField!

@IBOutlet weak var numTB: UITextField!

@IBOutlet weak var showLabel: UILabel! // displays all the values stored

var Money = 0
@IBAction func saveBtn(_ sender: Any) {
    Money += 1
    var MoneyNumberString:String = String(format: "Dollars:%i", Money)
    self.showLabel.text = (string: MoneyNumberString)
    let defaults: UserDefaults = UserDefaults.standard 
    defaults.set(MoneyNumberString, forKey: "money")
    defaults.synchronize() 
}

 @IBAction func showbtnact(_ sender: Any) {
    let defaults: UserDefaults = UserDefaults.standard
    var money = defaults.value(forKey: "money") as? String
    showLabel.text! = money!
}

希望有这个问题的解决方案:)谢谢

1 个答案:

答案 0 :(得分:1)

保存值时,您需要做的是:

            var ary_Values = NSMutableArray()

            if  UserDefaults.standard.value(forKey: "money") != nil
            {
                let arr = UserDefaults.standard.value(forKey: "money") as! NSArray

                for oldObj in arr
                {
                    ary_Values.add(oldObj)
                }

                ary_Values.add(self.showLabel.text)
            }

            UserDefaults.standard.set(ary_Values, forKey: "money")
            UserDefaults.standard.synchronize()