获取两个NSDictionary项的互斥键

Jon*_*son 2 iphone objective-c nsdictionary

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

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

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

Dav*_*ong 9

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);
Run Code Online (Sandbox Code Playgroud)