Получение NSManagedObject из другого NSManagedObjectContext (ссылаясь на тот же NSPersistentStoreCoordinator) - PullRequest
1 голос
/ 09 января 2010

У меня есть два разных NSManagedObjectContexts, оба ссылаются на один и тот же NSPersistentStoreCoordinator, скажем, context1 и context2.

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

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

1 Ответ

0 голосов
/ 09 января 2010

Вы можете указать целевой 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]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...