2010-03-17 7 views
1

NSDictionary에서 중복 (키 - 값) 쌍을 제거 할 수있는 방법이 있습니까?NSdictionary에서 중복 제거

편집 : 내 설명이 잘못되었습니다. 중복 된 쌍이 있습니다. 예 :
KEY1-VALUE1
KEY1-VALUE1
키 2-값 2
KEY1-VALUE1 등등 ..

+2

어떻게 당신이 사전에 중복이있을 수 DUP 개체를 다른 키를 떠날 0 :

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을 사용할 수 있습니까? Apple 설명서에 따르면 같은 이름의 다른 키를 추가하면 중복 된 항목이 자동으로 제거됩니다. http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableDictionary_Class/Reference/Reference. HTML – johnbakers

답변

2

반전 키 - 값은 모든 값이 키가 될 수있는 것은 아니므로 좋지 않습니다. 다음과 같이 할 수 있습니다 :

// dict은 원본 사전, newDict 새 사전은 없습니다.

1

방법 중 하나가 변환 후 값/키에 의해 사전에 키/값 쌍을 넣어하는
다시 키/값.

0

나는 내장 된 방법을 생각할 수 없다.

값을 반복하는 경우 allKeysForObject :는 각 값에 대한 키 배열을 제공하며 두 개 이상의 키가있는 경우 해당 값은 중복됩니다.