На моем основном объекте данных "Book" у меня есть логическое свойство, wasViewed (NSNumber numberWithBool)
это говорит мне, была ли Книга "просмотрена".
Я хотел бы реализовать своего рода «сброс» этого свойства для всех моих NSManagedObjects «Книга». Так что я могу установить их всех на NO между сессиями.
Я использую NSPredicate для получения всех Книг, как это:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"wasViewed == %@", [NSNumber numberWithBool:YES]];
// code for setting entity, request etc...
NSMutableArray *mutableFetchResults = [[[managedObjectContext executeFetchRequest:request error:&error] mutableCopy] autorelease];
Это работает очень хорошо, однако, теперь мне нужно настроить цикл, пройти каждый
Книжный объект, что-то вроде этого:
for(Book *b in mutableFetchResults) {
[b setWasViewed:NO]
}
Есть ли способ выполнить действие для каждого элемента, который соответствует предикату, вместо извлечения его?
Так что вместо executeFetchRequest
на managedObjectContext
это может быть
executeOperationOnFetchRequestResults
или что-то в этом роде.
Спасибо за любой предоставленный вклад:)