私のコアデータエンティティ「本」には、本が「閲覧」されたかどうかを示すブールプロパティ「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
与えられた入力に感謝します:)