gpt4 book ai didi

iphone - 在更新数据源和使用 insertRowsAtIndexPaths 后重新加载 tableview 时,UITableView 复制行?

转载 作者:行者123 更新时间:2023-11-29 13:03:32 25 4
gpt4 key购买 nike

TableView 由 3 个部分组成,每个部分都附加到一个行值数组,这些数组通过每个单元格的附件 View 中的一个按钮相互关联,因此当按下按钮时,基础数据源会更改并重新加载表,以匹配更新前后的行数使用以下代码:

        int sentCount = [[self sendersList] count];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];
NSIndexPath *indexPathToMove = [NSIndexPath indexPathForRow:(sentCount - 1) inSection:2];

[tableView beginUpdates];

[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPathToMove] withRowAnimation:UITableViewRowAnimationRight];

[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
[tableview endUpdates];
[tableview reloadData];

我得到的是这个新索引路径中原始行的副本,而不是从数据源获取数据后应该由 cellForRowAtIndexPath 显示的单元格。

我已经记录并检查了插入行的部分是否被调用了适当次数,但显示的值是原始单元格的副本。

最佳答案

核心问题是我对所有三个部分都使用相同的单元标识符,当它们有一点点不同的单元组件时,因此编译器返回相同的单元尽管有不同的底层数据源,为了解决我只是使用了不同的单元标识符对于不同的部分。

关于iphone - 在更新数据源和使用 insertRowsAtIndexPaths 后重新加载 tableview 时,UITableView 复制行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19192534/

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