具有众多核心数据存储的NSManagedObjectContextDidSaveNotification

时间:2013-07-12 17:03:35

标签: iphone ios objective-c core-data nsmanagedobject

我的应用程序中有2个独立的数据存储,这两个数据存储同时进入后台线程。因此我有这个代码来设置它:

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
    [notificationCenter addObserver:self.dataStoreManager
                           selector:@selector(mergeChanges:)
                               name:NSManagedObjectContextDidSaveNotification
                             object:nil];
    NSPersistentStoreCoordinator *dataStoreBackgroundPSC = self.dataStoreManager.managedObjectContext.persistentStoreCoordinator;

    [notificationCenter addObserver:[AppDelegate applicationDelegate].coreDataManager
                           selector:@selector(mergeChanges:)
                               name:NSManagedObjectContextDidSaveNotification
                             object:nil];
    NSPersistentStoreCoordinator *journalDataPSC = [AppDelegate applicationDelegate].coreDataManager.persistentStoreCoordinator;

这是否会导致问题,因为两个对象都会收到通知,或者他们是否会以不会对数据存储产生负面影响的方式对待它?

编辑: 好吧,事实证明这并不好。备择方案?如果我不在后台线程中保存其中一个,它是否还需要该通知?

1 个答案:

答案 0 :(得分:1)

我假设您正在查看与每个NSManagedObjectContextDidSaveNotification相关联的不同NSManagedObjectContext中的NSPersistentStoreCoordinator

在您对object:的调用中,将其指定为nil参数,而不是addObserver