swift 3 tableview.reloadData使应用程序崩溃

时间:2017-05-03 12:28:39

标签: core-data swift3 xcode8

我有一个从核心数据中获取数据的表视图。 这工作正常,但如果我发送命令tbl.reloadData它会使我的应用程序崩溃。

这是我获取数据的代码并重新加载它:

@IBOutlet weak var tbl: NSTableView!
  func requestData() {

        let appdelegate = NSApplication.shared().delegate as! AppDelegate
        let context = appdelegate.persistentContainer.viewContext
        let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Test")

        do {
            data = try context.fetch(request) as! [Data]

        } catch { }

        print(data)

        tbl.reloadData()

    }

print(data)成功显示了我核心数据的所有数据。 但是在“tbl.reloadData()”行上,应用程序将崩溃并出现此错误:

    fatal error: unexpectedly found nil while unwrapping an Optional value
2017-05-03 14:24:47.750618+0200 Programm[36302:1990301] fatal error: unexpectedly found nil while unwrapping an Optional value

1 个答案:

答案 0 :(得分:1)

只有在print语句之后可以为nil的东西才是tbl对象。确保:

  • 您已正确连接IBOutlet。
  • 从故事板中删除旧连接。您之前创建的那些,现在已重命名变量名称或完全删除变量。

由于某些原因,您的代码已NSTableView确保您正在寻找,而不是一列样式UITableView