gpt4 book ai didi

ios - UITableView - 使用 reloadRowsAtIndexPath

转载 作者:行者123 更新时间:2023-11-28 21:45:39 25 4
gpt4 key购买 nike

我有一个声明了委托(delegate)方法的UITableViewnumberOfRows &numberOfSections 是动态更新的。

 (NSInteger)tableView:(UITableView *)tableView 
numberOfRowsInSection:(NSInteger)section{}

(NSInteger)numberOfSectionsInTableView:

我需要使用reloadRowsAtIndexPath,而不是使用[tableView reloadData]

但是我遇到了无效行数的崩溃。如何处理数据源更改?假设我有一个计数为 10 的数组,当我使用 UIRefreshControls 通过拉取和来自服务器的数据重新加载 UITableView 时。从 10 开始,如果数组的计数下降到 1,我将如何处理reloadRowsAtIndexPath

[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathForVisibleRows] withRowAnimation:UITableViewRowAnimationNone] 

调用时似乎发生了崩溃。我将如何处理数据数组计数的变化?

最佳答案

要重新加载 Tableview 的特定单元格,方法是 reloadRowsAtIndexPaths: 而不是 reloadRowsAtIndexPath

    [self.tableview reloadRowsAtIndexPaths:[self.tableview indexPathsForVisibleRows] withRowAnimation:UITableViewRowAnimationNone];

但是,要使 reloadRowsAtIndexPaths 正常工作,数据源需要保持一致。因为索引路径已经加载。

如果您仍然使用此方法,您将得到 arrayIndexOutofBound 错误或单元格中的重复值(取决于数据源的增加或减少)。

关于ios - UITableView - 使用 reloadRowsAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30321015/

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