Я использую Coredata и MagicalRecord в проекте iOS, но не могу решить некоторые проблемы с сохранением. У меня есть один ManagedObjectContext, чтобы хранить мой объект в памяти и отображать некоторую информацию. Когда я хочу создать новую сущность, я создаю ее в фоновом контексте с помощью следующего метода:
__block B *b = [B MR_createInContext:[[DataBaseManager sharedManager] managedObjectContext]];
[a setB:b];
__block A *aInLocalContext;
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
B *bInLocalContext = (B *)[b MR_inContext:localContext];
aInLocalContext = (A *)[a MR_inContext:localContext];
[aInLocalContext setB: bInLocalContext];
} completion:^(BOOL success, NSError *error) {}];
b создается в моем контексте отображения, но bInLocalContext имеет значение nil в backgroundContext (то есть localContext), поэтому мои данные не сохраняются и связь не устанавливается. Правильный ли способ создать и сохранить новый NSManagedObjectContext в фоновом контексте и сохранить данные в контексте отображения для обновления пользовательского интерфейса?
заранее спасибо