如何在AppDelegate中设置和加载NSUserDefaults

时间:2015-03-13 03:16:25

标签: ios swift

在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模拟器上重新打开几次)时,它不会打印。有什么线索的原因?

3 个答案:

答案 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];