我试图保存文本字段,然后在视图中将其检索回来,这里的加载区域是我的代码:
@IBAction func player1button(sender: AnyObject)
{
NSUserDefaults.standardUserDefaults().setValue(textfield1.text!, forKey:"firstPlayer")
}
override func viewDidLoad() {
super.viewDidLoad()
textfield1.text = (NSUserDefaults.standardUserDefaults().valueForKey("firstPlayer") as! String)
}
我收到此错误:
以NSException类型的未捕获异常终止
答案 0 :(得分:0)
从String
检索NSUserDefaults
时使用stringForKey
:
NSUserDefaults.standardUserDefaults().stringForKey("firstPlayer")
答案 1 :(得分:0)
首先在您的textField中为EditingDidEnd添加目标,并将textField.text属性保存到NSUserDefault。然后你只需要在下次加载视图时加载它(BTW你应该使用NSUserDefaults方法stringForKey。你只需要使用&#34; ??&#34; nil合并运算符在nil的情况下提供默认值。< / p>
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
textField.text = NSUserDefaults().stringForKey("textField") ?? ""
textField.addTarget(self, action: "editingDidEnd:", forControlEvents: UIControlEvents.EditingDidEnd)
}
func editingDidEnd(sender:UITextField){
NSUserDefaults().setObject(sender.text!, forKey: "textField")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}