我在Stackoverflow上读到了一个关于使视图控制器变得透明的问题,所以在显示时,仍然可以看到父视图控制器。我能够这样做:
但是现在当我点击添加主题时,表格视图不会将主题添加到我的桌面视图中(这是点击“+”按钮时出现在上面视图后面的视图):
但如果我退出到我的主菜单并返回到表格视图,它会显示如此列表(当我点击“添加主题”时,这就是我想要的。)
我认为这是因为tableView.reloadData()
功能属于ViewWillAppear
。
在我的脑海中,我将tableViewClass.tableView.reloadData
添加到“添加主题”按钮操作,以便在按下按钮后立即重新加载数据但是我得到fatal error: found nil while unwrapping optional value
并突出显示{{1} }
我知道一旦New Subject视图控制器出现以便在后面显示它,父视图控制器(一个带有表视图)就不会被杀死。这就是为什么从不调用“ViewWillAppear”的原因。
我仍然有点困惑,为什么它崩溃了...这里是我的按钮的代码:
tableViewClass.tableView.reloadData
感谢任何帮助,谢谢:)
修改
这是我的代码,用于呈现视图控制器并使其透明:
@IBAction func btnAddTask_Click(sender: UIButton){
subMngr.addSubjectMonA(txtSubject.text, time1: txtTime.text, time2: txtTime2.text, col: monAview.ColorValue)
self.view.endEditing(true)
var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context: NSManagedObjectContext = appDel.managedObjectContext!
var newCell = NSEntityDescription.insertNewObjectForEntityForName("SubjectsEntity", inManagedObjectContext: context) as NSManagedObject
newCell.setValue(txtTime.text, forKey: "starttime")
newCell.setValue(txtSubject.text , forKey: "title")
newCell.setValue(txtTime2.text , forKey: "endtime")
newCell.setValue(monAview.ColorValue, forKey: "color")
context.save(nil)
txtSubject.text = ""
txtTime.text = ""
txtTime2.text = ""
MondayAClass.TableView.reloadData() // ERROR HERE
dismissViewControllerAnimated(true, completion: nil)
}
答案 0 :(得分:0)
致命错误:在解包可选值
时发现为零
这是Swift说你尝试访问nil
值的方式。确保表视图与其视图控制器之间具有拥有关系,这不应该发生。