出现此错误:
“致命错误:在解开可选值时意外发现nil”
错误出现在if
声明的第一行。
我检查了所有变量,看看哪个值是可选的,但没有任何效果。基本上,我希望文本字段在单击时变为红色,并且字段中没有任何内容。运行此代码时出现此错误:
@IBOutlet weak var textEvent: UITextField!
@IBAction func addButtonAction(_ sender: Any) {
userData = true
UserDefaults.standard.set(userData, forKey: "userData")
if textEvent.text == "" {
textEvent.backgroundColor = UIColor.red
} else {
textEvent.backgroundColor = UIColor.white
event.append(textEvent.text!)
// UserDefaults.standard.set(event, forKey: "theEvent")
}
}
@IBAction func doneButton(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
答案 0 :(得分:1)
问题似乎与
有关@IBOutlet weak var textEvent: UITextField!
确保从笔尖正确设置插座。
以下是帮助您连接违规插座的指南: https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ConnectTheUIToCode.html
答案 1 :(得分:0)
尝试
if textEvent != nil {
...(do whatever you need to do)
}
但是,如果你真的想要看中,你也可以选择绑定,
if let myTextEvent = textEvent {
...(do whatever you need to do, but use myTextEven instead of textEvent inside this if statement)
}