我觉得这很容易,但我是菜鸟,我无法弄清楚要做什么,所以我试图检查TextField里面是否有任何东西,它会让用户写一些东西它,但是当它退出应用程序时,如果它保存了一些文本(我已使用NSUserDefaults保存了数据),它将保留在该TextField中键入的文本。 我之前已经完成了这项工作,但出了问题却停止了工作。
这就是我所做的:
var notTheFirstTime = false
if notTheFirstTime == true{
let mail = NSUserDefaults.standardUserDefaults().objectForKey("usersMailID") as! String
textField.text = "\(mail)"
}
这是保存文本字段的部分,并更改" notTheFirstTime"的状态。真的
func textFieldShouldReturn(textField: UITextField) -> Bool {
performAction()
return true
}
func performAction() {
notTheFirstTime = false
NSUserDefaults.standardUserDefaults().setObject(textField.text!, forKey: "usersMailID")
NSUserDefaults.standardUserDefaults().synchronize()
print("Saved!!!!!!")
saveLabel.text! = "Saved!"
savedIcon.image = UIImage(named: "Saved")
}
答案 0 :(得分:1)
我在这段代码中看到两件事情,保存到用户默认文件后,你应该使用
notTheFirstTime = true
但是你在performAction()
中将其设置为false第二个是你应该使用notTheFirstTime值作为用户默认值。当您关闭应用程序时。此值也取决于false(正如您在应用程序的初始步骤中给出的那样)因此也将其值也用作用户默认值。