打开String时出现意外的Nil?使应用程序崩溃

时间:2016-04-20 16:23:23

标签: swift null interface-builder nsdate uistoryboard

我的应用有一个屏幕,可以输入title: String?desc: String?dueDate: NSDate?等输入。如果给出了所有输入,则返回并通过委托/协议将数据传递到上一个屏幕,否则,阻止导航并显示弹出警告。

这是验证输入和执行导航的代码:

func pushView(sender: AnyObject) {
    if .........
    //Some codes to check inputs
    else {
        let aReminder = Reminders(title: self.remTitle.text!, dueDate: self.dueDate, desc: self.remDesc.text!)

        self.delegate!.addReminder(aReminder)

        //error drops on this line
        self.navigationController!.popViewControllerAnimated(true)
    }
}

应用检查空输入并按预期显示警告但当我填写所有文本框并对datePicker进行更改时,我收到错误unexpectedly found nil while unwrapping an Optional value

我已将dueDate的默认值设置为var dueDate = NSDate()但仍然出现此错误,而文本框全部填写完毕。

1 个答案:

答案 0 :(得分:0)

我忘了在Main.StoryBoard中放置导航控制器。所以为了解决这个问题,我已经修好了这个问题:

  • Navigation Controller从对象库拖到故事板中,
  • 然后按住Ctrl +从Navigation Controller拖动到当前View Controller
  • 选择Root View Controller作为两者的关系