在我的核心数据实体“书”上,我有一个布尔属性“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];
这工作得很好,但是,现在我需要设置一个循环,遍历每个 Book 对象,如下所示:
for(Book *b in mutableFetchResults) {
[b setWasViewed:NO]
}
有没有办法对适合谓词的每个元素执行操作而不是检索它?因此,不是executeFetchRequest
在managedObjectContext
它可能是
executeOperationOnFetchRequestResults
或类似的东西。
感谢您提供的任何输入:)