0

行。

我有一个数组,其中包含由我的核心数据堆栈填充的多个对象。假设每个对象都有一个与其关联的名称、开始日期、结束日期和数量属性

我需要做的是将此数组缩减为仅基于名称的唯一对象(不仅仅是值),这是一个 NSString。

我已经在 for 循环、while 循环和 using 集合中尝试了 isEqual 方法,但我似乎无法弄清楚。

有任何想法吗?


更新:我应该更清楚。基本上我想要做的是获取一个现有数组,并删除具有相同属性值的重复对象,并最终得到一个唯一对象数组。

4

4 回答 4

0
  1. 在没有谓词的情况下获取所有对象 - 结果是一个数组,其中可能包含多个具有相同名称的字符串
  2. 遍历数组创建一个新的字符串数组(复制每个实体的名称字符串)
  3. 将该数组转换为一个集合 - 根据定义,它只包含唯一名称
  4. 根据需要通过使用谓词“name = %@”对集合中的任何名称进行提取来访问您的核心数据实体(或将集合转回数组以方便使用)。
于 2010-08-31T07:17:03.213 回答
0

没关系。我使用一组疯狂的 if 语句解决了这个问题,这可能不是最有效的方法,但它获得了我需要的结果。

于 2010-08-31T22:26:22.820 回答
0
  1. 将对象提取到NSArray.
  2. 创建一个NSMutableDictionary.
  3. 遍历数组。
  4. 检查在字典中用作键的属性是否已经存在,如果是的话continue
  5. 如果没有,请将其添加到字典中
  6. 一旦循环完成-allValues就调用字典。

您现在有一个在该属性上唯一的对象数组。

于 2010-09-01T01:12:51.843 回答
0

如果您要回答自己的问题,请至少发布代码以帮助其他人解决同样的问题。这可能也是对他们有用的解决方案。如果您要求其他人发布代码或帮助您,请意识到这是一条双向街道

于 2011-12-08T13:43:35.403 回答