在多线程中合并ManagedobjectContext

时间:2011-12-01 15:36:03

标签: iphone multithreading core-data nsnotificationcenter

我的应用程序有主线程,每10秒运行一次,从核心数据和第二线程读取数据,从服务器获取数据并加载到coredata。在阅读了一些例子以及apple文档后,我仍然不确定合并的方式是否正确: 1.我为数据库中的每个保存创建新的managedObjectContext并将其设置为(appp委托中的单个PersistentStore)。 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读取数据

我想知道这是否正确。 感谢

0 个答案:

没有答案