gpt4 book ai didi

ios - reloadRowsAtIndexPaths 使用 JSON imageUrls 崩溃

转载 作者:行者123 更新时间:2023-11-30 12:55:29 25 4
gpt4 key购买 nike

我有一个 UITableView,我用 JSON 字符串填充数据。看看 pastebin 中的代码.

此时:

dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.tableView.beginUpdates()
self.tableView.reloadRowsAtIndexPaths(
[indexPath],
withRowAnimation: .Fade)
self.tableView.endUpdates()
})

它失败了。

我收到以下消息:

2016-11-06 16:32:06.579471 SO-33975355[4872:1389586] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempt to delete row 7 from section 0 which only contains 0 rows before the update'

如果我删除reloadRowsAtIndexPaths,它可以工作,但我不会更新行,除非您滚动或旋转设备。当然我希望它直接更新。

我猜这与速度太快有关?但自从我修改了 this from the example 以来我完全一无所知。 (该示例不适用于 JSON,但适用于维基百科的 url)

如果有人能提供帮助,我会很高兴。

最佳答案

在调用 self.tableView.reloadRowsAtIndexPaths 之前,请确保您的 tableView 已创建并且正确设置了 dataSource。另外,您的 tableView 应该调用下面两个数据源(在 self.tableView.reloadRowsAtIndexPaths 之前)。

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) {
//Please return the maximum number of rows you are expecting from JSON. This is required because when you do reloadRowsAtIndexPaths, it should know that row index already exist
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//Return cell
}

关于ios - reloadRowsAtIndexPaths 使用 JSON imageUrls 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40451451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com