Рассмотрим следующий код:
[context performBlock:^{
// add a bunch of objects to context
NSError *error;
if(![context save:&error])
NSLog(@"Couldn't save MOC because of error: %@", error.localizedDescription);
}];
Это внутри класса «Менеджер магазина», который имеет геттеры для 2 MOC: стандарт .objectContext
и .backgroundObjectContext
, который инициализируется с помощьюследующее:
backgroundObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
backgroundObjectContext.parentContext = self.objectContext;
Моя проблема : когда я устанавливаю context
на self.objectContext
, все в порядке, и данные сохраняются в файл .sqlite.Когда я устанавливаю self.backgroundObjectContext
, в файл sqlite не записываются никакие данные, но save:
возвращает YES
без ошибок.Я попытался войти в этот контекст registeredObjects
, и все есть.Почему данные не записываются в файл sqlite?
Я уже давно пользуюсь новыми API MOC iOS 5, и я впервые сталкиваюсь с этой проблемой, поэтому я 'Я довольно невежественен.Вы так инициализируете фоновый MOC в iOS 5?Есть ли что-то еще, что я мог бы здесь упустить?