NSUserDefaults Swift 2.0版下的错误

时间:2016-03-03 16:04:41

标签: xcode swift nsuserdefaults

我在Swift 2.0版中实现NSUserDefaults时遇到了一些问题。我的代码适用于Swift v1,但是在v2中有一些问题。首先,一旦我按下保存按钮,数据就不会被保存。两个,我按下保存按钮后我的应用程序崩溃了。任何人都可以告诉我我的编码错误吗?

final

2 个答案:

答案 0 :(得分:1)

我看到你的UITextfield问题已经解决了。现在尝试这个来帮助您获取viewDidLoad函数保留的信息:

override func viewDidLoad() {
    super.viewDidLoad()

    let userDefaults = NSUserDefaults.standardUserDefaults()

    if let nameSaved = userDefaults.objectForKey("name") as? String {
        name.text = nameSaved
    }

    if let phoneSaved = userDefaults.objectForKey("phone") as? String {
        phone.text = phoneSaved
    }

    if let emailSaved = userDefaults.objectForKey("email") as? String {
        email.text = emailSaved
    }
}

如果您想在每次移回控制器后调用它,请将其放入viewWillAppear()。

答案 1 :(得分:0)

您正在尝试保存文本字段而不是文本值。您应该保存其文本值

userDefaults.setObject(name.text ?? " ", forKey:"name") userDefaults.setObject(phone.text ?? " " , forKey:"phone") userDefaults.setObject(email.text ?? " ", forKey:"email")