【发布时间】:2018-11-23 05:30:19
【问题描述】:
单击创建按钮后,我导航到 tableviewcontroller 屏幕。但是表格视图中没有填充任何内容,因为尚未调用填充表格视图的数组。
现在,一旦到达 tableview 屏幕,几秒钟后,另一个方法会在其他地方(在另一个文件中)调用,该方法又会调用此 tableviewcontroller 屏幕中的函数。这是tableviewcontroller屏幕的那个方法,被称为...
func stopIndicator(thegrpName: String) {
stopIndicator()
let realm = try! Realm()
let chatGrp = realm.objects(ChatGroup.self)
chatGroup = chatGrp
tableview.reloadData() //CRASH HAPPENS HERE
}
在这种方法中,一旦我到达tableview.reloadData(),它就会崩溃并出现错误Unexpectedly found nil while unwrapping an optional value..
我提到了this 链接,它似乎有类似的问题...但无法从中获得太多帮助...
这次崩溃的原因可能是什么...?
编辑 1:numberOfRows 和 cellForRowAt.. 是这样给出的...
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if let chatGrp = chatGroup {
return chatGrp.count
}
return 0
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: ChatGroupTableViewCell = tableView.dequeueReusableCell(withIdentifier: "chatgroupIdentifier") as! ChatGroupTableViewCell
let groupChatObj = chatGroup![indexPath.row]
cell.chatLabel.text = groupChatObj.lastMessage?.text?.text
return cell
}
【问题讨论】:
-
请出示您的
numberOfRowsInSection和cellForRowAt方法。另请参阅 this 了解一般故障排除和针对此异常的建议 -
似乎
tableview是nil,如果它添加到情节提要中,请检查插座是否连接。 -
检查@Satish..其连接正确..
-
设置异常断点查看哪一行崩溃了。
-
不要使用感叹号(“!”),而是使用可选的展开,如果您尝试展开的值为 nil,则打印一些内容。这样,您就可以准确地知道哪个值是 nil,而不必猜测。
标签: ios swift uitableview