#objective-c #xcode #nsmutablearray #nsdictionary
#objective-c #xcode #nsmutablearray #nsdictionary
Вопрос:
У меня есть объект под названием MyObject с двумя свойствами MyObject.name, MyObject.ID У меня также есть объект NSMutableArray MyObjects для хранения экземпляров объектов MyObject.
Теперь я хочу отфильтровать все экземпляры, которые MyObject.name содержать символ @»a» в MyObjects, как я могу это сделать? Я пробую методы NSDictionary и NSPredicate, но все они завершились неудачей.
У вас есть какие-нибудь идеи? Большое спасибо ~
Ответ №1:
Есть много способов сделать это, но вот идея, которая пришла мне в голову. Вы могли бы перебирать все объекты в массиве 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