【问题标题】:reloadRowsAtIndexPaths interfere with deleteRowsAtIndexPathsReloadRows At IndexPath 干扰 deleteRowsAtIndexPaths
【发布时间】:2015-11-23 21:28:53
【问题描述】:

在我的表格中,第一个 1 元素中有两个部分,第二个 9 元素存在。

插入、更新、删除操作我将使用以下几行来执行:

(lldb) po ipi
▿ 1 elements
  - [0] : <NSIndexPath: 0x179508a0> {length = 2, path = 1 - 0}

(lldb) po ipr
▿ 4 elements
  - [0] : <NSIndexPath: 0x17970810> {length = 2, path = 1 - 8}
  - [1] : <NSIndexPath: 0x17970860> {length = 2, path = 1 - 5}
  - [2] : <NSIndexPath: 0x179708b0> {length = 2, path = 1 - 2}
  - [3] : <NSIndexPath: 0x17970900> {length = 2, path = 1 - 9}

(lldb) po ipd
▿ 1 elements
  - [0] : <NSIndexPath: 0x166eadf0> {length = 2, path = 0 - 0}

但我遇到了一个崩溃,上面写着:

尝试从仅包含 9 行的第 1 部分中删除第 9 行 更新前 2015-11-23 22:20:18.969 电影爱好者[305:25004] *** 由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'试图删除第 9 行 从第 1 节开始,更新前只包含 9 行'

奇怪,因为 {1 - 9} 行我只想重新加载,而不是删除。

知道发生了什么吗?

如果我评论 reloadRowsAtIndexPaths 行,它不会崩溃。

【问题讨论】:

  • 您尝试重新加载的 indexPath 是什么?

标签: ios uitableview


【解决方案1】:

当您有 9 个元素时,您正尝试重新加载索引 9 处的行。当您有 9 个元素时,它们位于索引 0 到 8。索引 9 处没有元素。尝试重新加载 0-8 而不是 1-9。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-26
    • 2012-07-19
    • 1970-01-01
    • 2019-01-12
    • 2011-06-27
    • 1970-01-01
    • 2012-03-27
    • 2017-02-20
    相关资源
    最近更新 更多