使用swift检索要使用NSUserDefaults显示的信息

时间:2015-12-10 18:47:59

标签: xcode swift nsuserdefaults

我正在尝试将用户放入的信息放在一个页面上并将其发布到另一个页面上。现在我有一个registerviewController,用户输入信息并使用NSUserDefaults存储它。我想知道的是如何获取存储的信息并将其放在viewController页面上。

我到目前为止的代码:

在寄存器视图控制器上:

let name = userName.text;
        let student = userStudent.text;
        let gender = userGender.text;
        let username = userUsername.text;
        let password = userPassword.text;
NSUserDefaults.standardUserDefaults().setObject(name, forKey:"name");
        NSUserDefaults.standardUserDefaults().setObject(student, forKey:"student");
        NSUserDefaults.standardUserDefaults().setObject(gender, forKey:"gender");
        NSUserDefaults.standardUserDefaults().setObject(username, forKey:"username");
        NSUserDefaults.standardUserDefaults().setObject(password, forKey:"password");
        NSUserDefaults.standardUserDefaults().synchronize();

查看控制器: (这是我发现的代码说它应该可以工作,但是当我运行程序时没有显示)

if let name = NSUserDefaults.standardUserDefaults().stringForKey("name"){
        print (name);
    }

2 个答案:

答案 0 :(得分:1)

我将对象保存在UserDefaults中,如下所示:

NSUserDefaults().setObject(student, forKey: "student")

并获取您的对象:

if let name = NSUserDefaults().objectForKey("student") as? String {
    print(name)
}

答案 1 :(得分:0)

您还可以使用ValueForKey获取用户默认值

//Define user default
let userDefaults = NSUserDefaults.standardUserDefaults()

//Set value
self.userDefaults.setObject("data", forKey: "Key")
self.userDefaults.synchronize()

//Get value
if let name = self.userDefaults.valueForKey("Key"){
    print(name)
}

//Remove value
self.userDefaults.removeObjectForKey("Key")