2013년 7월 4일 목요일

NSArray의 특정 값을 이용한 grouping

나이에 따라서 사람들을 그룹핑 하는 예제....




_Peoples = NSDictionary 타입의 Person들의 array

//나이에 따라서 구룹핑 함.
NSArray *groups = [_Peoples valueForKeyPath:@"@distinctUnionOfObjects.age"];
    
//age는 NSNumber *인 이유는 person NSDictionary의 age key에대한 value 타입이 NSNumber * 이기 때문임.
for (NSNumber *age in groups)
{   
   NSArray *filteredArr = [_Peoples filteredArrayUsingPredicate:[NSPredicate  predicateWithFormat:@"age = %@", age]];

NSLog(@"[age=%d] is = %@",[age integerValue], filteredArr);
}