UI Table View错误+异步加载的数据

时间:2018-10-25 10:08:05

标签: ios swift swift3 swift4

我有一个UI表VIew,其中包含从URL异步加载的数据。

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return (self.notificationsResponse?.data?.count)!
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let notification = notificationsResponse?.data![indexPath.row]
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! NotificationsViewCell
    cell.setNotification(notification: notification!)
    return cell
}

var notificationsResponse:NotificationsResponse?

我遇到类似

的错误
  

线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

在这一行

return (self.notificationsResponse?.data?.count)!

我不知道这是怎么了。我正面临这个问题,可能是由于对快速了解不足所致。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您可以像这样在使用力展开的地方写一行

table {
table-layout: fixed;
width: 100%; 

编辑:另一个答案实际上更好。但是警卫也是防止部队解开的好方法。

答案 1 :(得分:0)

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return (self.notificationsResponse?.data?.count)!
}

请更改

return self.notificationsResponse?.data?.count ?? 0