从另一个NSManagedObjectContext获取NSManagedObject(引用相同的NSPersistentStoreCoordinator)

时间:2010-01-09 10:51:45

标签: iphone core-data

我有两个不同的NSManagedObjectContexts都指向相同的NSPersistentStoreCoordinator,比如context1和context2。

我有一个超出context1的NSManagedObject。由于我想编辑它,不知道之后是否会保存它,我想从context2获取该对象。在我不想保存NSManagedObject的情况下,Context2可能会被破坏。在保存的情况下,我将在context1中合并context2。

但是如何从context2获取对象?有没有一种简单的方法可以做到这一点,或者我是否必须使用谓词xyz = [NSManagedObject objectId]来请求对象?在这种情况下xyz必须是什么?

1 个答案:

答案 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]];