12

にある内の目的のキーから値を取得できるかどうか知りたいのNSDictionaryですがNSArray

例:

NSArray *array = @[ @{@"title" : @"title 1", @"description" : @"description 1"},
@{@"title" : @"title 2", @"description" : @"description 2"}, 
@{@"title" : @"title 3", @"description" : @"description 3"} ];

NSMutableArray内のすべてのタイトルを(新しいものを作成せずに)取得したいと思いNSArrayます。たぶん私は何か間違ったことをしていて、私のアプローチは完全に悪いです。

新しいクラスを作成して2つのプロパティ(title、desc)を持つことができることは知っていますが、クラスを作成したり、新しい配列を作成NSMutableArrayして配列全体を反復処理したりせずに、方法はありますか?

4

1 に答える 1

28

簡単:

NSArray *titles = [array valueForKey:@"title"];

これが機能するのは、NSArrayの実装が、配列の各オブジェクトのvalueForKey:結果を含む新しい配列を返すためです。valueForKey:

于 2012-09-02T11:19:39.657 に答える