我正在构建一个应用程序,并开始实现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”) //返回假
PS我标记了nsuserdefaults,我不确定是否正确。我只是使用上面代码中所示的Swift对象。