首页 > 解决方案 > UserDefaults 不工作不返回预期结果

问题描述

我正在构建一个应用程序并开始实施 UserDefaults。它没有用,所以我制作了一个测试应用程序来简化事情并测试我的理解。它适用于该应用程序,但不适用于我正在开发的应用程序。

以前有人问过这个问题,但我找不到任何有用的东西。

UserDefaults.standard.set("TEST", forKey: "test")
//does not work

let test = "TEST"
UserDefaults.standard.set(test, forKey: "test")
//does not work

UserDefaults.standard.set(test, forKey: "test")
UserDefaults.standard.synchronize()
//synchronize is legacy and not needed
//also does not work

但是,完全相同的代码在我的测试应用程序中确实有效。我从模拟器中卸载了该应用程序,重新启动了我的计算机等。没有运气。

我唯一能想到的是,在 Xcode 将其存根后,我手动将核心数据添加到该项目中。我很确定我这样做是正确的,但是 AppDelegate.swift 中的某些内容会影响 UserDefaults 吗?

明确一点,设置后: UserDefaults.standard.bool(forKey: "test") //returns false

PS我标记了nsuserdefaults,我不确定这是否正确。我只是使用 Swift 对象,如上面的代码所示。

标签: swiftnsuserdefaults

解决方案


推荐阅读