类似
- (BOOL)isSameValues:(NSArray*)array1 and:(NSArray*)array2
{
NSCountedSet *set1 = [NSCountedSet setWithArray:array1];
NSCountedSet *set2 = [NSCountedSet setWithArray:array2];
return [set1 isEqualToSet:set2];
}
但是有了NSDictionaries。如果两个数组具有相同的值,则返回YES。我需要看看2个字典的键是否相同,忽略了这些值。出于我的目的,可以忽略重复项。
答案 0 :(得分:2)
您可以使用您的函数,但是用NSSet替换NSCountedSet(这并不重要,因为字典不能有重复的键),并使用NSDictionary的allKeys属性。所以:
- (BOOL)haveSameKeys:(NSDictionary *)dictionary1 and:(NSDictionary *)dictionary2
{
NSSet *set1 = [NSSet setWithArray:[dictionary1 allKeys]];
NSSet *set2 = [NSSet setWithArray:[dictionary2 allKeys]];
return [set1 isEqualToSet:set2];
}