tableView.reloadRows(at:[indexPath],带有:.none)会像这样崩溃吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tableView.reloadRows(at:[indexPath],带有:.none)会像这样崩溃吗?相关的知识,希望对你有一定的参考价值。

我试图理解Fabric中的错误:

无效更新:第0节中的行数无效。更新后现有部分中包含的行数(40)必须等于更新前该部分中包含的行数(20),加上或减去数字从该部分插入或删除的行(插入1个,删除1个)并加上或减去移入或移出该部分的行数(0移入,0移出)。专门的NewInboxViewController.tableView(UITableView,didSelectRowAt:IndexPath)

发生在didSelectRow:AtIndexPath的这一行:

tableView.reloadRows(at: [indexPath], with: .none)

表视图行为是:

  • 视图模型加载20行
  • 当用户滚动到表视图的70%时,我们再加载20行,isDownloading bool切换为true,调用完成时设置为false,然后表视图重新加载
  • can commit edits为true时,isDownloading为false,否则用户可以滑动删除该行
  • 当用户拉动刷新时,我们会吹掉存储在数组中的单元格,并从API调用中替换20个最近的项目(已编辑)
答案

您告诉表视图重新加载一行,但您向数据模型添加了20个新行。这就是错误的含义。它说:

“在您调用reloadRows之前,数据模型中有20行。现在我看到数据模型中有40行,但您只是告诉我重新加载(插入和删除)1行。”

您应该使用20个新索引路径的数组调用tableView.insertRows(at:),每个新添加的行一个。

以上是关于tableView.reloadRows(at:[indexPath],带有:.none)会像这样崩溃吗?的主要内容,如果未能解决你的问题,请参考以下文章

如果在另一个表更新后调用太快,tableView.reloadRows 会闪烁

Swift tableView.reloadRows 删除单元格

请问啥是AT指令?

? created_at ? updated_at ?????????

AT指令集

ESP8266ESP8266通讯使用的AT指令