我的应用有一个屏幕,可以输入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()
但仍然出现此错误,而文本框全部填写完毕。
答案 0 :(得分:0)
我忘了在Main.StoryBoard
中放置导航控制器。所以为了解决这个问题,我已经修好了这个问题:
Navigation Controller
从对象库拖到故事板中,Navigation Controller
拖动到当前View Controller
Root View Controller
作为两者的关系