在didFinishLaunchingWithOptions中我有:
let defaults = NSUserDefaults.standardUserDefaults()
if let name = defaults.stringForKey("userNameKey") {
println(name)
}
在applicationWillTerminate中我有:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("Coding Explorer", forKey: "userNameKey")
但是在应用程序加载(我已经关闭并在iphone模拟器上重新打开几次)时,它不会打印。有什么线索的原因?
答案 0 :(得分:0)
最好使用调试器来查看您的代码是否调用以下方法applicationWillTerminate
在我们从NSUserDefaults读取或写入数据之前,我们必须首先获得对NSUserDefaults类的引用。
let prefs = NSUserDefaults.standardUserDefaults()
更多信息:
一旦我们将参考保存到常量,我们就可以向其写入数据。您将定义值和密钥名称以存储数据。
prefs.setValue("Berlin", forKey: "userCity")
//这段代码保存了价值"柏林"到一个名为" userCity"。
的密钥
可在以下链接中找到更多信息:http://www.myswiftjourney.me/2014/10/01/simple-persistent-storage-using-nsuserdefaults/
答案 1 :(得分:0)
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("Coding Explorer", forKey: "userNameKey")
defaults.synchronize()
答案 2 :(得分:0)
写入userdefaults后忘了同步...
我认为这是为了迅速!?
defaults.synchronize()
在objective-c中
[defaults synchronize];