Ответ 1
Попробуйте следующее:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tid IN %@", filterArray];
[request setPredicate:predicate];
Посмотрите Агрегированные операции в Программирование предикатов Руководство.
ИЗМЕНИТЬ
В настоящее время Core Data успешно возвращает все результаты для определенного объекта под названием Event
:
NSManagedObjectContext *context = [delegate managedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Event"
inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSError *error;
NSArray *fetchResults = [context executeFetchRequest:request error:&error];
Одно свойство объекта Event - это строка под названием tid
. У меня также есть массив filterArray
, содержащий все допустимые значения tid.
Как я могу получить запрос Core Data только для возврата событий, имеющих свойство tid, которое соответствует одному из значений в filterArray
? Я считаю, что ответ относится к NSPredicate, но я недостаточно знаком с ним, чтобы заставить его согнуть мою волю.
Попробуйте следующее:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tid IN %@", filterArray];
[request setPredicate:predicate];
Посмотрите Агрегированные операции в Программирование предикатов Руководство.
ИЗМЕНИТЬ