Использовать NSPredicate для массива довольно просто, используя filteredArrayUsingPredicate:.
Как это делается для значений key-path? Это означает, что у меня есть массив объектов (в данном случае объекты одного типа). Каждый объект имеет переменную экземпляра с именем name. Согласно документации, он говорит сделать следующее:
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"ANY employees.firstName like 'Matthew'"];
Это также используется в filteredArrayUsingPredicate? Что делать, если у меня есть массив объектов People? означает ли это, что я бы использовал:
NSArray *allPeopleObjects; // pre-populated
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY people.name like 'Foo'"];
NSArray *matching = [allPeopleObjects filteredArrayUsingPredicate:predicate];
Документации в этом отделе немного не хватает.
Можно ли также использовать предикат против одного объекта Person? Что-то вроде Person.name содержит [cd] 'Foo'? Как это сделать?