Реверсивный ключ-значение не является хорошей идеей, поскольку не все значения могут быть ключами. Вы можете сделать это с помощью:
// dict - оригинальный словарь, новыйDict новый словарь с дубликатами.
NSMutableDictionary * newDict = [NSMutableDictionary dictionaryWithCapacity:[dict count]];
for(id item in [dict allValues]){
NSArray * keys = [dict allKeysForObject:item];
[newDict setObject:item forKey:[keys objectAtIndex:0]];
}
ЮО может также использовать lastObject вместо objectAtIndex: 0, чтобы оставить другой ключ для Dup объектов
, как вы можете иметь дубликаты в словаре? согласно документации Apple, дубликаты автоматически удаляются при добавлении другого ключа с тем же именем: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableDictionary_Class/Reference/Reference. HTML – johnbakers