如何制作这段代码,以便它不会打开零值?

时间:2017-11-07 03:04:13

标签: swift

出现此错误:

  

“致命错误:在解开可选值时意外发现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)
}

2 个答案:

答案 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)
        }