有没有办法从NSDictionary中删除重复(键值)对?
编辑:
我的描述有误导性,我有重复对,例如
键1,值1
键1,值1
KEY2,值2
键1,值1
等。
答案 0 :(得分:2)
反转键值并不是一个好主意,因为并非所有值都可以是键。 你可以用:
// dict是原始字典,newDict新字典withot duplicates。
NSMutableDictionary * newDict = [NSMutableDictionary dictionaryWithCapacity:[dict count]];
for(id item in [dict allValues]){
NSArray * keys = [dict allKeysForObject:item];
[newDict setObject:item forKey:[keys objectAtIndex:0]];
}
yuo也可以使用lastObject而不是objectAtIndex:0来为dup对象留下其他键
答案 1 :(得分:1)
一种方法是通过值/键将键/值对放入字典中,然后将其转换回键/值。
答案 2 :(得分:0)
我想不出内置方法。
如果迭代这些值,allKeysForObject:将为每个值提供一个键数组,如果您有多个键,则该值具有重复值。