7

我有一个自定义对象数组,其中包含一个自定义对象地址,其属性为街道、区域、州、国家。

我需要从该数组中获取所有区域的名称,所以我做了这样的事情。

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:]

返回一个数组,其中包含调用 valueForKey: 对每个数组对象使用 key 的结果。

于 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 回答