【发布时间】:2014-03-11 15:16:31
【问题描述】:
快速提问。我有两个 NSMutableArray:
Array 1: [A,B,C,D,E,F];
Array 2: [B,E,F];
请注意,数组 2 始终是数组 1 的子集 - 表示存在的对象是数组 2,肯定存在的对象也是数组 1。
所以我想要构建一个数组,其中包含数组 2 中 NOT 的对象。就像这样
Array 3: [A,C,D];
我已尝试使用 this post 中所述的相对补码,但生成的数组与数组 1 基本相同。它不会消除数组 2 中存在的对象。
我也尝试了answer here,但仍然没有得到我想要的。除非我真的在做一些非常明显的错误。
我猜,使用 NSPredicate 更可取。但我对想法和提示持开放态度。
注意:仅出于上下文考虑,我这样做是为了更新我的 UITableView,主要是出于数据过滤的目的。
谢谢!
更新
所以到目前为止给出的所有答案实际上都适用于我的一组简单的虚拟数据。但是当我用我的真实数据进行测试时,创建的数组 3 仍然与数组 1 相同。所以,我将提供更多关于我的东西的信息。
两个数组都是存储字典对象的NSMutablArray。我实际上使用的是 Parse.com,所以两个数组中的对象都是PFObject(如果我没记错的话,这只是 NSObject)。我不知道这对任何事情有什么影响,但是是的,似乎不起作用。
当我尝试逐步完成该过程时,这是一个screenshot from the console。
感谢到目前为止的帮助。
【问题讨论】:
-
你完全改变了问题。你应该编辑它并解释你想要过滤数组的标准,特别是你想要比较的键。
标签: ios objective-c arrays uitableview