我认为这真的很容易,但我是一个傻瓜,我不知道该怎么办,所以我试图检查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")
}
我在这段代码中看到了两件事,在将文本保存到用户默认值后,您应该使用
notTheFirstTime = true
但您在performAction()中将其设置为false
第二个是您应该使用notTheFirstTime值作为用户默认值。当你关闭应用程序时。这个值也属于false(正如您在应用程序的初始步骤中给出的),所以也将它的值用作用户默认值。