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

标签 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!
}

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

最佳答案

保存值时,需要做的是:

            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()

关于ios - 如何检索存储在 NSUserDefaults 中的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41050226/

相关文章:

iphone - 如何使用 asihttprequest 接受自签名证书

ios - 使用CKCloud套件共享私有(private)记录

ios - 我可以通过编码在核心数据中创建和删除实体吗

swift - 为什么是init(编码器:) being called when I provide an init() function

ios - 如何保持一共得到了多少分

ios - 从 Xcodebuild 启动 RETINA 模拟器以进行持续集成

ios - 如何在 NativeScript 中以编程方式创建 UIImageView?

ios - 检测 WKWebview 何时无法处理请求

ios - 在 ViewDidLoad 中从 NSUserDefaults 加载数据

xcode - NSUserDefaults 不保存