如何获取指定键值数组?

时间:2012-09-14 11:05:24

标签: objective-c

我正在尝试获取在以下数组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);

2 个答案:

答案 0 :(得分:11)

尝试一下:

[array valueForKey:specifyingKey]

希望这有帮助!

答案 1 :(得分:2)

只需使用KVC。

[array valueForKey:@"age"]

应该给你一系列的年龄。