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