我一直试图在逻辑上考虑这个问题一段时间了,通常我可以通过编写或考虑与编程无关的其他内容来解决它。但是我尝试的一切都不起作用。所以基本上我有2 NSArrays
,它们都来自2个不同的plist。每个数组都填充了所有字典:所有字典都具有相同的键,并且都具有相同的相同结构,但是一些可能具有与某些键不相关的键相关的信息。我基本上需要检查array1
中的每个项目,看看它是否存在于array2
中,如果array2
中不存在,则将其添加到array1
(或{{1}看看如何在迭代时改变数组)。我需要它来查看是否存在特定键“array3
”。
所以...简而言之,我的最终结果必须是name_key
,其中包含来自两个数组的所有对象,而没有具有重复名称的对象(来自词典NSArray
)。
以下是我的实际代码无效。
下面的代码:name_key
= originalWhiskiesListArray
array1
= newWhiskiesListArray
array2
= combinedWhiskiesListArray
(因为在迭代数组时不能改变数组。
array3
答案 0 :(得分:0)
如果我理解正确,您可以将每个字典中的所有值添加到NSMutableSet中,如果该项已经存在,则不会添加该项。然后,您可以使用NSSet方法allObjects将该集转换回数组。
答案 1 :(得分:0)
威士忌名称字符串中的任何一个都可以为零吗?如果是这样,那么这会打破isEqualToString比较,因为你总是可以发送消息nil,它返回NO。
我也相信休息是错误的。您只需要在遇到匹配时退出内循环。如果不是,你必须继续前进直到内循环结束。