使用 NSUserDefaults 在本地存储值

Storing values locally using NSUserDefaults

我有以下代码块

let defaults = NSUserDefaults.standardUserDefaults()
let username = self.emailText.text
let password = self.passwordText.text
defaults.setValue(username, forKey: defaultsKeys.userKey)
defaults.setValue(password, forKey: defaultsKeys.passwordKey)
var u = defaults.stringForKey(defaultsKeys.userKey)
var p = defaults.stringForKey(defaultsKeys.passwordKey)

设置时用户名和密码正确。但是,当我将它们拉回时,u 和 p 具有相同的值,并且是密码值。

我是这样在页面顶部声明defaultKeys的。

struct defaultsKeys {
    static let userKey = ""
    static let passwordKey = ""
}

我假设有一个我没有看到的简单语法错误,因为这看起来应该有效。

设置不同的键名:

struct defaultsKeys {
    static let userKey = "userKey"
    static let passwordKey = "passwordKey"
}

两者的密钥相同,只需为每个设置不同的密钥即可:

struct defaultsKeys {
    static let userKey = "USER_KEY"
    static let passwordKey = "PWD_KEY"
}
struct defaultsKeys 
{
static let userKey = "userKey"
static let passwordKey = "passwordKey"
}