tableView.reloadData()导致Swift崩溃

时间:2014-10-14 15:59:01

标签: ios uitableview swift ios8 xcode6

我在Stackoverflow上读到了一个关于使视图控制器变得透明的问题,所以在显示时,仍然可以看到父视图控制器。我能够这样做: enter image description here

但是现在当我点击添加主题时,表格视图不会将主题添加到我的桌面视图中(这是点击“+”按钮时出现在上面视图后面的视图): enter image description here

但如果我退出到我的主菜单并返回到表格视图,它会显示如此列表(当我点击“添加主题”时,这就是我想要的。)

enter image description here

我认为这是因为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)



    }

1 个答案:

答案 0 :(得分:0)

  

致命错误:在解包可选值

时发现为零

这是Swift说你尝试访问nil值的方式。确保表视图与其视图控制器之间具有拥有关系,这不应该发生。