2017-05-03 92 views
0

我有一个从核心数据获取数据的表视图。 这工作正常,但如果我发送命令tbl.reloadData它会崩溃我的应用程序。swift 3 tableview.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() 

    } 

打印(数据)显示我成功我所有的核心数据的数据。 但就行了“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 
+0

tbl插座是否正确绑定到其在视图中的界面生成器? –

+0

是的,它是正确的 – Stack108

+0

ALL OK!我现在不为什么,但我删除了tableview和控制器的连接,并再次连接 - 现在它工作.... – Stack108

回答

1

,可以是零之后print语句是TBL对象嘛。请确保:

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

也出于某种原因,您的代码有NSTableView请确保您正在寻找,而不是一列式UITableView