代码之家  ›  专栏  ›  技术社区  ›  David Liu

批量插入和删除+重新加载旧单元格=异常

  •  1
  • David Liu  · 技术社区  · 15 年前

    在此之前,列表数据如下所示:
    0:苹果

    2:胡萝卜


    0:香蕉

    2:狗

    这将导致删除第0行,重新加载第1行和第2行,并在第2行和第3行插入。我调用这些方法的顺序也是这样的:删除,然后重新加载,然后插入行。

    但是,这会导致抛出异常,因为我正在第2行上执行两个不同的动画(重新加载和插入)。这是订购问题,还是我的索引不正确?注意:我需要重新加载旧的单元格,因为该行的数据可能已经更改,但不应该用插入/删除来表示。

    奇怪的是,这个错误只发生在iOS4之前的iOS版本中。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Shawn Throop    8 年前

    我建议删除0,插入3和4。不需要重新加载。发送更新的顺序无关紧要。在讲述更新之前,请确保模型反映了更改。用-beginUpdates:end-endU结束通话pdates:.

    https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/TableView_iPhone/ManageInsertDeleteRow/ManageInsertDeleteRow.html#//apple_ref/doc/uid/TP40007451-CH10-SW16

    WWDC视频提示也很好。您需要注意会话128-主控表视图。