我在 tableView 中有一组对象。我希望用户能够转到另一个页面并从对象清单中进行选择以过滤第一个数组。
我应该如何处理清单中的数据?我目前将其作为选定对象的 NSMutableArray 处理。但是,如何用另一个数组的内容过滤第一个数组呢?
我应该将每个项目作为 NSString 来处理吗?
谢谢您的帮助!
我在 tableView 中有一组对象。我希望用户能够转到另一个页面并从对象清单中进行选择以过滤第一个数组。
我应该如何处理清单中的数据?我目前将其作为选定对象的 NSMutableArray 处理。但是,如何用另一个数组的内容过滤第一个数组呢?
我应该将每个项目作为 NSString 来处理吗?
谢谢您的帮助!
如果可能,请使用 NSMutableSets 并仅使用交集。
从接收器中删除不是另一个给定集合成员的每个对象。
- (void)intersectSet:(NSSet *)otherSet
您可以使用以下方法创建集合:
- (id)setWithArray:(NSArray *)anArray
我宁愿使用 NSMutableDictionary 而不是第二个数组,将每个对象(键)关联一个值,告诉我它是否已被选中。这样,当我检查第一个数组(需要过滤的数组)时,验证所选设置会更快。
如果您的对象实现了 isEquals:\hash,您可以使用 NSSet 来存储选定的对象。然后您可以进行设置查找以查看它们是否被选中。您应该能够构造一个 NSPredicate 并使用它过滤数组。