【问题标题】:How to filter objects in NSArray by object's property如何通过对象的属性过滤 NSArray 中的对象
【发布时间】:2011-11-11 16:30:28
【问题描述】:

我有一个名为 MyObject 的对象,有 2 个属性 MyObject.name、MyObject.ID 我还有一个 NSMutableArray 对象 MyObjects 来存储 MyObject 对象实例。

现在,我想过滤掉 MyObjects 中 MyObject.name 包含 char @"a" 的所有实例,我该怎么做?我尝试了 NSDictionary 和 NSPredicate 方法,但都失败了。

你有什么想法吗?非常感谢~

【问题讨论】:

    标签: objective-c xcode nsmutablearray nsdictionary


    【解决方案1】:

    有很多方法可以做到这一点,但这是我脑海中的一个想法。您可以遍历 MyObjects NSMutable 数组中的所有对象,然后编写逻辑在每个 MyObject.name 中搜索 @"a",然后将不包含 @"a" 的对象存储在新数组中。

    // note using ARC
    NSMutableArray *myFilteredObjects = [[NSMutableArray alloc] init];
    for(MyObject *myObject in MyObjects)
    {
        NSRange *range = [myObject.name rangeOfString:@"a"];
    
        if(range.location == NSNotFound)
        {
            // add object to new array if it doesn't contain @"a"
            [myFilteredObjects addObject: myObject];
        }
    }
    
    // do what you want with filtered objects array
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-29
      • 2013-11-09
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      相关资源
      最近更新 更多