EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

时间:2015-12-04 13:00:38

标签: ios debugging

对委托和显示文本字段内容的这种简单调用因主题( EXEC_BAD ... )中的上述消息而失败。

调试器的下方显示:

  

致命错误:在解包可选值时意外发现nil

对此有何帮助?

import UIKit
class ViewController: UIViewController, UITextFieldDelegate
{
    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var enteredValue: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        textField.delegate = self // <- here it fails with EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }
    @IBAction func buttonClicked(sender: AnyObject) {
        enteredValue.text = textField.text // <- here it fails with EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)   
    }
}

1 个答案:

答案 0 :(得分:0)

我检查你的代码到我身边。

我认为你的情况是enteredValue没有绑定到storyboard,这就是崩溃发生的原因。

所以只需将UILabel映射到storyboard其他明智的检查以下条件。

 @IBAction func buttonClicked(sender: AnyObject) {
        if((enteredValue) != nil){
            enteredValue.text = textField.text // <- here it fails with EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
        }
    }