我有两个不同的NSManagedObjectContexts都指向相同的NSPersistentStoreCoordinator,比如context1和context2。
我有一个超出context1的NSManagedObject。由于我想编辑它,不知道之后是否会保存它,我想从context2获取该对象。在我不想保存NSManagedObject的情况下,Context2可能会被破坏。在保存的情况下,我将在context1中合并context2。
但是如何从context2获取对象?有没有一种简单的方法可以做到这一点,或者我是否必须使用谓词xyz = [NSManagedObject objectId]来请求对象?在这种情况下xyz必须是什么?
答案 0 :(得分:0)
您可以指定目标NSManagedObjectContext,即
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
myArray = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
除了你的评论:
context2object = [myEntityArrayFromContext2 objectAtIndex:[myEntityArrayFromContext1 indexOfObject:context1object]];