NSUserDefaults 不存储数据。它存储空值

NSUserDefaults not Storing the data. It Stores Nill Value Instead

NSUserdefaults 不会存储我的数据 我在 Playground 中编写了代码来检查问题,我得到了 Nil 值。Xcode 7.2 请检查代码中有什么问题 Image enclosed

您好,在实际项目中替换如下代码,如NSUserDefaults returns nil in PlaygroundNSUserDefaults 无法在 playground 中运行,因此请在真实项目中尝试您的代码

完整代码示例:

import UIKit

let userdefaults = NSUserDefaults.standardUserDefaults()
var name = "myname"
var pass = "123"

userdefaults.setValue(name, forKey: "username")
userdefaults.setValue(pass, forKey: "userpass")


print(userdefaults.valueForKey("username"))

最后一行将 return 键的值 username

我认为 NSUserDefaults 在 Xcode Playground 7.2 中无法正常工作。

代码如下

NSUserDefaults.standardUserDefaults().setObject("hello world", forKey: "key1")

NSUserDefaults.standardUserDefaults().objectForKey("key1")

return nil Xcode Playground 7.2.

然而,在真实项目上执行的相同代码(并在模拟器中执行)确实有效,第二行确实有效 return hello world.

使用 Xcode 7.1.1 和 Swift 2

进行测试
  • NSUserDefaults 无法正常工作 -> 看起来像是 Playgrounds 的错误或限制
  • NSKeyedArchiver 确实工作正常