【问题标题】:How to get values of a specific key from an array of custom model objects如何从自定义模型对象数组中获取特定键的值
【发布时间】:2013-09-06 10:55:42
【问题描述】:

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

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

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

现在区域包含该区域的所有名称。

有没有其他方法可以使用谓词或其他方式来获取地址项的所有区域,而不需要遍历地址数组(如上)。

【问题讨论】:

    标签: iphone ios objective-c arrays model-view-controller


    【解决方案1】:

    我们也使用 mutableArrayValueForKey: 方法来获取键对应的值数组

    NSMutableArray *areas = [地址 mutableArrayValueForKey:@"name"];
    

    【讨论】:

      【解决方案2】:

      只要对象是符合 KVC 的 area 属性,那么简单:

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

      (如果您希望areas 是可变的,根据您的代码,那么您需要在上面的语句中使用mutableCopy)。

      [NSArray valueForKey:]:

      返回一个包含调用 valueForKey 的结果的数组:使用 键在数组的每个对象上。

      【讨论】:

      • NSArray *areas = [[addresses valueForKey:@"area"] mutableCopy];这是使用可变副本的方式吗?如有错误请指正
      猜你喜欢
      • 2022-01-02
      • 2022-08-03
      • 2022-01-21
      • 2018-11-05
      • 2014-10-17
      • 2012-12-09
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      相关资源
      最近更新 更多