gpt4 book ai didi

ios - UITableView 重新加载部分顺序很重要吗?

转载 作者:可可西里 更新时间:2023-11-01 05:05:59 25 4
gpt4 key购买 nike

我试图理解为什么重新加载 UITableView

的各个部分似乎很重要

如果我这样重新加载:

// Reload section 1
[self.groupDetailsTableView reloadSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationFade];

// Reload section 0
[self.groupDetailsTableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];

没有问题,但如果我以相反的顺序重新加载(首先是第 0 节,然后是第 1 节),我会收到错误消息:

* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 1. The number of rows contained in an existing section after the update (2) must be equal to the number of rows contained in that section before the update (1), plus or minus the number of rows inserted or deleted from that section (0 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'

但是如果我这样做,就没有错误:

[self.groupDetailsTableView reloadSections:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 2)] withRowAnimation:UITableViewRowAnimationFade];

最佳答案

我认为 UITableview 更新有问题;您正在加载 section 1 表,而 section 0 正在重新加载。我建议您在重新加载之前和之后立即使用 [tableview beginUpdates][tableview endUpdates] 方法,问题应该会消失。

如果没有,请告诉我。希望这会有所帮助。

关于ios - UITableView 重新加载部分顺序很重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16920230/

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