매우 구체적인 방식으로 필터링해야하는 사전이 있습니다. 예를 들어 설명하는 것이 가장 쉽습니다.NSArray의 사전 객체 비교를 통한 필터링
NSDictionary #1:
@"threadId" : @"1234"
@"subject" : @"hello"
@"messageId" : @"0001"
NSDictionary #2:
@"threadId" : @"1234"
@"subject" : @"hello"
@"messageId" : @"0002"
NSDictionary #3:
@"threadId" : @"9101"
@"subject" : @"goodbye"
@"messageId" : @"0005"
나는 같은이있는 사전을 고려 중이 야 :
의 나는 다음과 같은 세 가지 사전을 포함한 배열이 있다고 가정 해 봅시다 @ "대상"@ "threadId을", "messageId가"@ 열쇠 @ "threadId"와 @ "subject"에 대한 값은 @ "messageId"가 다른 경우에도 마찬가지입니다. 따라서 사전 1과 사전 2를 중복으로 생각하고 위의 배열에서 사전 1 또는 사전 2 중 하나 (둘 다 아님)를 제거하고 싶습니다. 즉, 사전 3 개 또는 사전 3 개 또는 사전 2와 3을 모두 포함하는 새로운 배열로 세 사전의 원래 배열을 필터링하고 싶습니다.
지금까지 시도한 모든 시도로 인해 과도한 결과가 발생했습니다 for 루프는 threadId로 사전을 정렬하고 분리하려고 시도하지만, 비교 부분에서 멈추게됩니다. 나는 술어에 의한 필터링을 살펴 봤지만 다른 객체와의 비교와는 아무런 관련이없는 특정 기준을 만족하는 객체 만 제거하는 것처럼 보입니다. 중복 될 것으로 생각되는 객체가 실제로 중복되지 않기 때문에 NSSet이 작동하지 않습니다.
누구든지이 필터링을 수행하기위한 일반적인 전략을 제안 할 수 있는지 궁금합니다.
가능한 복제본 : http://stackoverflow.com/a/13499453/1301013 데이터 집합을 조작 할 때 NSPredicate를 사용할 수 있습니다. –