【问题标题】:Userdefaults doesn't load or saveUserdefaults 不会加载或保存
【发布时间】:2020-09-13 16:25:38
【问题描述】:

UserDefaults 有一个奇怪的问题:有时它可以保存和加载,但有时它不起作用。

class ViewController: UIViewController {

    @IBOutlet var text: UITextField!
    var savedArray : [String] = []
    override func viewDidLoad() {
        super.viewDidLoad()
        savedArray = UserDefaults.standard.object(forKey: "arr") as? [String] ?? [String]()
        print (savedArray)
    }


    @IBAction func btn(_ sender: Any) {
        savedArray.append(text.text!)
        UserDefaults.standard.set(savedArray, forKey: "arr")
    }
    
}

【问题讨论】:

  • 如果您快速关闭应用程序,我相信它有时可能无法在您的模拟器上运行。这是因为在模拟器上,iOS 的默认方法(用于保存状态)的调用方式不同。在设备上就可以了。

标签: swift userdefaults


【解决方案1】:

尝试在set 之后调用UserDefaults.standard.synchronize()。 Apple 不推荐这样做,但有时是必要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多