gpt4 book ai didi

objective-c - 减少 UITableViewController 中提供的数据集的正确方法

转载 作者:行者123 更新时间:2023-11-28 22:43:56 25 4
gpt4 key购买 nike

我得到了一个包含数据项的 NSArray 的引用。在充当 TableView 数据源的自定义 View Controller 中,我解释每个项目并将其呈现为一个单元格。到目前为止一切顺利。

现在我的同事要求实现一个过滤器,该过滤器将基于项目的一个属性的值。此属性具有枚举值(其中 4 个)。因此,当我应用过滤器时,我应该只会看到与特定值匹配的项目。我的问题是我应该如何处理该数据的过滤。

1) 我是否应该将 _data 私有(private)变量设置为指向原始数据源,然后覆盖“数据”属性 getter 以考虑过滤?

2) 我应该在我的 Controller 中生成一个单独的 filteredData 数组吗?3) 其他一些方法?

注意> coredata+fetched resultcontr.这是不可能的。项目的数量绝不会超过 150-200。

最佳答案

我会选择第二个。有一个过滤数据源更方便。这样,您不仅可以知道应该显示的单元格,还可以知道它们有多少等。此外,如果将来您想要对它们进行排序和使用部分,您将更加灵活。

例如,当您实现方法 – tableView:numberOfRowsInSection: 时,它会使用过滤后的数据源在内部多次调用,您不必多次遍历数组的对象以查看哪个他们应该通过过滤器。您只需返回 [filteredDatasource count]。这样效率更高。

关于objective-c - 减少 UITableViewController 中提供的数据集的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746303/

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