2012-09-14 3 views
2

배열 obj 다음에 키 값을 지정하는 배열을 얻으려고합니다.키의 값 배열을 지정하는 방법은 무엇입니까?

Ex1) If specifying key "name", 
    wanted result is : {"James", "Jhone", "Michael", "Donald", "Mac"} 

Ex2) If specifying key "age", 
    wanted result is : {25,27,35,25,26} 

받는 방법?

도와주세요.

NSArray *array = [[[NSArray alloc] initWithObjects: 
     @{@"name" : @"James", @"age" : @25}, 
       @{@"name" : @"Jhone", @"age" : @27}, 
       @{@"name" : @"Michael", @"age" : @35}, 
       @{@"name" : @"Donald", @"age" : @25}, 
       @{@"name" : @"Mac", @"age" : @26}, 
       nil] autorelease]; 

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"??? == name"]; 
NSArray *filtered = [array filteredArrayUsingPredicate:predicate]; 
NSLog(@"result : %@", filtered); 

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"??? == age"]; 
NSArray *filtered = [array filteredArrayUsingPredicate:predicate]; 
NSLog(@"result : %@", filtered); 
+0

http://stackoverflow.com/questions/5569632/nspredicate-to-match-any-entry-in-an-nsdatabase-with-value-that-contains-a-stri –

답변

11

이 사용 해보세요 :이 도움이

[array valueForKey:specifyingKey] 

희망을!

+0

. _Post Your Answer_를 치기 전에 나는 새롭게해야했습니다. 속도를 위해 +1. –

+0

@AnalogFile 감사합니다! –

+0

위 코드를 잘 작성하십시오. Carl 감사합니다. : D –

2

그냥 KVC를 사용하십시오.

에는 다양한 연령대를 제공해야합니다.

+0

음 .. 나는 getValueForKey 메소드가 없다고 생각합니다. : D –

+0

권. 이것은 다른 언어에 대한 기술 문서를 읽는 동안 ObjectiveC에 회신하면 어떻게됩니까? 수정 됨. –

관련 문제