2013-05-08 4 views
1

"Title"과 같은 키를 포함하는 많은 NSDictionaries의 NSMutableArray가 있습니다. 어떤 경우에는 "제목"이 같은 사전이 있지만 다른 키의 차이가 있습니다. "제목"키가 동일한 사전을 제거하고 배열에 하나만 남겨 둘 수 있습니까?배열에서 NSDictionaries의 중복을 제거합니다.

감사

답변

6

정렬 키 경로 '제목'에 NSSortDescriptor를 사용하여 어레이. 배열을 통해 다음 루프는 새로운 배열을 구축 :

NSString *lastTitle = nil; 
NSMutableArray *result = [NSMutableArray array]; 

for (NSDictionary *d in array) { 
    NSString *testTitle = [d objectForKey:@"title"]; 
    if (![testTitle isEqualToString:lastTitle]) { 
     [result addObject:d]; 
     lastTitle = testTitle; 
    } 
} 

지금 result는 필터링 된 목록이 포함되어 있습니다.

array을 먼저 정렬하여이 알고리즘을 작동시키는 것이 중요합니다.

관련 문제