致命错误:在打开一个Optional值时意外发现nil - 为什么?

时间:2014-10-13 21:16:41

标签: swift null optional

我对Swift编码很陌生,我不太清楚这里发生了什么 - 有人可以帮忙吗?

由于

import UIKit

class SecondViewController: UIViewController {

    var toDoItems:[String] = []


    @IBOutlet weak var toDoItem: UITextField!

    @IBAction func addItem(sender: AnyObject) {

        toDoItems.append(toDoItem.text)
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb) 

        println(toDoItems)



    }
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

1 个答案:

答案 0 :(得分:4)

最有可能的是,您的IBOutlettoDoItem未成功绑定到Interface Builder中的UITextField。在Interface Builder中检查文本字段的出口,确保它已成功连接。

enter image description here

如果插座正确连接,则此问题的另一个候选源是视图控制器本身的实例化。如果您以编程方式对其进行实例化(例如SecondViewController()而不是storyboard.instantiateViewControllerWithIdentifier(...)),那么也会导致此错误。