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);
4

2 に答える 2

11

これを試してください:

[array valueForKey:specifyingKey]

お役に立てれば!

于 2012-09-14T11:11:26.617 に答える
2

KVCを使用するだけです。

[array valueForKey:@"age"]

年齢の配列を提供する必要があります。

于 2012-09-14T11:14:41.120 に答える