【发布时间】:2023-03-07 03:28:01
【问题描述】:
我的应用程序具有类似于 Phone.app->Recents 的 UI:分段 UITableView 和导航栏中的 UISegmentedControl。如果选择了第一部分,我想要做的是显示完整的数据集,如果选择了第二部分,则显示过滤的数据集。
当用户在 UISegmentedControl 中选择第二个项目时,我会从表视图中删除特定行。代码如下:
[tableView beginUpdates];
NSMutableArray *indexPaths = [NSMutableArray array];
/// ... fill up indexPaths with row indexes
[tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
上面的代码运行良好,除了一个严重的问题:性能。从 2200 行中删除 1500 行大约需要 20 秒。这显然是不可接受的。用动画过滤表格视图行的最佳方法是什么?
【问题讨论】:
标签: iphone objective-c cocoa-touch uitableview