Мое приложение имеет основной поток, который запускается каждые десять секунд и читает данные из основных данных, а второй поток - для получения данных с сервера и загрузки в coredata. после прочтения некоторого примера, а также яблочного документа, я все еще не уверен, что способ слияния правильный:
1. Я создаю новый managedObjectContext для каждого сохранения в базе данных и устанавливаю его (один PersistentStore в делегате appp).
2. иметь этот код, когда я запускаю класс для загрузки данных в представлении пользователя:
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector(mergeChanges:)
name:NSManagedObjectContextDidSaveNotification
object:appDelegate.managedObjectContext];
-(void)mergeChanges:(NSNotification *)notification
{
NSManagedObjectContext *mainContext = [appDelegate managedObjectContext];
// Merge changes into the main context on the main thread
[mainContext performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:)
withObject:notification
waitUntilDone:YES];
}
3 - чтение данных из coredata из основного контекста
Мне интересно, правильно ли это.
спасибо