Iphone 获取两个NSDictionary项的互斥键

Iphone 获取两个NSDictionary项的互斥键,iphone,objective-c,nsdictionary,Iphone,Objective C,Nsdictionary,我有两个不同的NSDictionary对象,其中有属于两个集合的键,而有一些键只存在于第一个字典中,类似地,在第二个字典中发现的键很少,但在第一个字典中找不到 是否有一种有效的方法来进行集合比较,以提取第一个字典中不存在的第二个字典中的键 基本上,在标准维恩图中,集合A的元素与集合B不相交。NSSet就是您要寻找的: NSMutableSet *keysInA = [NSMutableSet setWithArray:[dictionaryA allKeys]]; NSSet *keysInB

我有两个不同的NSDictionary对象,其中有属于两个集合的键,而有一些键只存在于第一个字典中,类似地,在第二个字典中发现的键很少,但在第一个字典中找不到

是否有一种有效的方法来进行集合比较,以提取第一个字典中不存在的第二个字典中的键


基本上,在标准维恩图中,集合A的元素与集合B不相交。

NSSet
就是您要寻找的:

NSMutableSet *keysInA = [NSMutableSet setWithArray:[dictionaryA allKeys]];
NSSet *keysInB = [NSSet setWithArray:[dictionaryB allKeys]];
[keysInA minusSet:keysInB];
NSLog(@"keys in A that are not in B: %@", keysInA);
NSCountedSet *dict1keys = [[NSCountedSet alloc] initWithArray:[dictionary1 allKeys]];
NSSet *dict2keys = [NSSet setWithArray:[dictionary2 allKeys]];
[dict1keys minusSet:dict2keys];
NSLog(@"Result : %@", dict1keys);