如何正确地对数组执行批处理更新



对于UITableView s,插入、删除和移动操作的顺序在更新块中并不重要,因为它们直到-endAnimations被调用后才执行,然后它们作为批处理更新执行。

假设我有3个数组:
-删除(只是一个索引)
-插入(索引+对象)
-移动(两个索引)

我该如何正确地将这个"增量"应用到现有的数组,就像UITableView将在其批量更新?

诀窍是保留一个字典(实际上是数组),根据每次更改期间发生的情况来解释索引号。原来0表示0,1表示1,以此类推。但是如果你删除了第1项,那么2就意味着1,3就意味着2,等等——它上面的所有东西都必须被推下去,这样如果你要求将第2项与其他东西交换,我们仍然可以找到你说"2"时所指的对象。同样地,如果你在第2项插入了一些内容,那么它上面的所有内容都必须向上推。

现在你可以做删除,然后插入,然后移动。注意,删除时必须按照反向排序的索引顺序(或者使用索引集,这样就可以一次全部删除),插入时必须按照正常排序的顺序

相关内容

  • 没有找到相关文章

最新更新