2

我有一个名为的数据类型Filter,它有一个NSMutableArray包含一堆FilterKey对象的属性(每个过滤器的键数量不同)。我有一堆这些Filter对象存储在一个NSMutableArray被调用的Filters.

我有一个UITableView,其中每一行都填充了来自其中一个FilterKey对象的数据。我的问题是,对于 UITableView 中的给定行,我如何使用Filters数组来找到正确的FilterKey(考虑到我已经手动放置了过滤器和键)?

基本上,我知道我可以遍历Filters数组并为每个Filter对象遍历它的所有内容FilterKeys,但我想知道是否有更好的方法来做到这一点(即更好的数据结构,或者可以更快地给我正确的对象的东西?

抱歉,如果您有任何疑问,请在评论中告诉我。

4

2 回答 2

2

通常,您会为此使用部分和行,其中每个部分是一个过滤器,每一行是一个过滤键。

听起来您只想显示过滤器键,而没有过滤器的部分标题(如果我正确阅读了您的帖子)。如果您实际上并不想要标头,那很好,只需为tableView:heightForHeaderInSection:nil.返回 0 即可tableView:viewForHeaderInSection:

所有这些实际上更多是为了方便而不是性能。它不太可能比运行过滤器并累加它们的键数要快得多。这种操作速度极快。但是部分/行可以更好地映射您的数据,因此无论如何我都可能会使用它来保持代码更简单。

于 2013-02-22T16:54:49.217 回答
1

您可以使用哈希映射的NSMutableDictionary,从而实现更快、更容易、可读的操作。

如果您更喜欢数组,则无需遍历搜索特定值,您可以使用NSPredicate过滤您的数组。

于 2013-02-22T16:46:15.390 回答