iphone - 高效地访问数组内的数组

标签 iphone ios cocoa-touch design-patterns

我有一个名为 Filter 的数据类型,它有一个 NSMutableArray 属性,该属性包含一堆 FilterKey 对象(每个对象有不同数量的键)筛选)。我有一堆这样的 Filter 对象存储在一个名为 FiltersNSMutableArray 中。

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

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

抱歉,如果这让您感到困惑,如果您有任何疑问,请在评论中告诉我。

最佳答案

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

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

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

关于iphone - 高效地访问数组内的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15029039/

相关文章:

iphone - 以编程方式访问应用标识符前缀

ios - swift 3 : Is there a way to cast an object to a class and protocol at the same time?

iphone - Cocoa touch——获取设备信息

iphone - Iphone自定义Mapkit注释图像

android - Unicode 符号无法在移动设备中正确显示

iphone - UIButton 标题中的断线

iphone - iPad/iPhone 上的数据已加密?

ios - 什么是 extension_access_modifier swiftlint?

c# - Xamarin 代码生成设计器正在破坏应用程序

ios - 在导航 Controller 中导航到来自 2 个不同父项的 View 是否错误?