2010-01-09 2 views
1

У меня есть два разных NSManagedObjectContexts, ссылающихся на тот же NSPsistentStoreCoordinator, скажем context1 и context2.Получение NSManagedObject из другого NSManagedObjectContext (ссылка на тот же NSPsistentStoreCoordinator)

У меня есть NSManagedObject из контекста1. Поскольку я хотел бы отредактировать его, не зная, будет ли он впоследствии сохранен, я хотел бы получить этот объект из контекста2. Контекст2 может быть просто разбит в том случае, если я не хочу сохранять NSManagedObject. В случае сохранения, я буду объединять context2 в контексте1.

Но как мне получить объект из контекста2? Есть ли простой способ сделать это, или мне нужно запросить объект с предикатом xyz = [NSManagedObject objectId]? И что должен быть xyz в этом случае?

ответ

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]]; 
+0

право. Это то, что я сделал, чтобы получить управляемый объект из контекста1. Но теперь пользователь решает отредактировать этот объект. Именно по этой причине мне нужен тот же самый объект из контекста2. Итак, как мне это получить? Через objectID? – Shingoo

+0

через entityForName: –

+0

Я не уверен, знаю ли вы, что я имел в виду;) У меня есть все объекты, используя ваш код выше. Он вернул мне массив из 5 объектов типа «MyEntity». Очистить до сих пор. Теперь я беру, например, третий элемент из этого массива. Этот элемент, конечно, является объектом класса «MyEntity». Теперь мой вопрос, который я попробовал спросить: Как мне получить этот третий объект класса типа «MyEntity» из контекста2? Или более общий: как связать существующий объект NSManagedObject с другим контекстом? – Shingoo

Смежные вопросы