添加1个数组2中的项目按字典键过滤

时间:2013-01-14 04:08:50

标签: objective-c nsarray nsdictionary

我一直试图在逻辑上考虑这个问题一段时间了,通常我可以通过编写或考虑与编程无关的其他内容来解决它。但是我尝试的一切都不起作用。所以基本上我有2 NSArrays,它们都来自2个不同的plist。每个数组都填充了所有字典:所有字典都具有相同的键,并且都具有相同的相同结构,但是一些可能具有与某些键不相关的键相关的信息。我基本上需要检查array1中的每个项目,看看它是否存在于array2中,如果array2中不存在,则将其添加到array1(或{{1}看看如何在迭代时改变数组)。我需要它来查看是否存在特定键“array3”。

所以...简而言之,我的最终结果必须是name_key,其中包含来自两个数组的所有对象,而没有具有重复名称的对象(来自词典NSArray)。

以下是我的实际代码无效。

下面的代码:name_key = originalWhiskiesListArray array1 = newWhiskiesListArray array2 = combinedWhiskiesListArray(因为在迭代数组时不能改变数组。

array3

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您可以将每个字典中的所有值添加到NSMutableSet中,如果该项已经存在,则不会添加该项。然后,您可以使用NSSet方法allObjects将该集转换回数组。

答案 1 :(得分:0)

威士忌名称字符串中的任何一个都可以为零吗?如果是这样,那么这会打破isEqualToString比较,因为你总是可以发送消息nil,它返回NO。

我也相信休息是错误的。您只需要在遇到匹配时退出内循环。如果不是,你必须继续前进直到内循环结束。