gpt4 book ai didi

ios - 在 UITableView 中保留对已删除行的引用

转载 作者:行者123 更新时间:2023-11-29 03:40:04 24 4
gpt4 key购买 nike

我正在开发一个 UITableview,它具有一定的总行数,其中一些行根据用户操作插入和删除。我无法决定哪种方式最有效地实现此操作。我的两个想法都有效,但不是很干净的实现。他们是:

1)向名为(shownInTable)的数据添加一个 bool 值,并在插入时将showInTable设置为YES,在删除时将showInTable设置为NO。

我使用此方法的问题是,当 tableView 请求部分行数或单元格时,我必须迭代数组,检查当前显示的数据。

2) 创建 2 个数组,一个包含所有数据作为引用,一个可变数组仅包含显示的数据。将可变数组中的数据提供给表。使用引用数组获取要插入到可变数组中的数据,然后根据需要从可变数组中删除。

我遇到的问题是它需要一个很长的设置过程来创建两个数组。 IE。如果有 10 个可能的数据行...将创建 10 个对象并将其放入引用数组中,并复制 5 个对象并将其放入可变数组中。

是否有更好的方法来跟踪这些数据移入和移出表的情况?

谢谢!

最佳答案

当您将同一个对象放入两个数组中时,这些对象不会重复,它们只是被引用两次。
所以,大多数情况下第二种是正确的方法。

例如,如果过滤器的目标是搜索,您可以创建第一个数组,然后使用带谓词的过滤器创建第二个数组,以加快创建过程。

例如,您有一个对象数组(在此示例中:事件数组),并且只想显示包含“编程”的事件

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(activityName CONTAINS[cd] %@)", @"programming"];  // activityName is the @property that you want to apply the filter to
NSMutableArray *arrayToShow = [[firstArray filteredArrayUsingPredicate:predicate] mutableCopy];

关于ios - 在 UITableView 中保留对已删除行的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18578377/

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