Как отфильтровать объекты в NSArray по свойству объекта - PullRequest
1 голос
/ 11 ноября 2011

У меня есть объект с именем MyObject, с 2 свойствами MyObject.name, MyObject.ID У меня также есть NSMutableArray объект MyObjects для хранения экземпляров объекта MyObject.

Теперь я хочу отфильтровать все экземпляры, которые в MyObject.name содержат char @ "a" в MyObjects, как я могу это сделать? Я пытаюсь использовать методы NSDictionary & NSPredicate, но все они не удаются.

Есть идеи? Большое спасибо ~

1 Ответ

0 голосов
/ 12 ноября 2011

Есть много способов сделать это, но вот идея из головы. Вы можете перебрать все объекты в массиве MyObjects NSMutable, а затем написать логику для поиска @ "a" в каждом MyObject.name и затем сохранить те, которые не содержат @ "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
...