7

プロパティの通り、エリア、州、国を持つカスタム オブジェクト Address を含むカスタム オブジェクトの配列があります。

その配列からエリアのすべての名前を取得する必要があるので、このようなことをしました。

NSMutableArray *areas = [[NSMutableArray alloc]init];
    for (Address *item in addresses) {
        [areas addObject:item.area];
    }

現在、エリアにはエリアのすべての名前が含まれています。

述語または他の方法を使用して、(上記のように) アドレスの配列をループすることなく、アドレス項目のすべての領域を取得する他の方法はありますか?

4

2 に答える 2

25

オブジェクトが area プロパティに対して KVC に準拠している限り、単純に:

NSArray *areas = [addresses valueForKey:@"area"];

areas(コードに従って変更可能にしたい場合mutableCopyは、上記のステートメントで使用する必要があります)。

参照[NSArray valueForKey:]:

配列の各オブジェクトで key を使用して valueForKey: を呼び出した結果を含む配列を返します。

于 2013-09-03T09:15:03.993 に答える
3

Also We are using mutableArrayValueForKey: method to get the array of values corresponding to the key

NSMutableArray *areas = [addresses mutableArrayValueForKey:@"name"];
于 2013-09-03T09:27:48.637 に答える