объединить ManagedobjectContext в несколько потоков - PullRequest
1 голос
/ 01 декабря 2011

Мое приложение имеет основной поток, который запускается каждые десять секунд и читает данные из основных данных, а второй поток - для получения данных с сервера и загрузки в 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 из основного контекста

Мне интересно, правильно ли это. спасибо

...