0

我的应用程序中有 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;

这会导致问题,因为两个对象都会收到通知,还是会以不会对任一数据存储产生负面影响的方式处理它?

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

4

1 回答 1

1

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

将它们指定为object:参数,而不是nil在调用addObserver.

于 2013-07-12T17:17:25.183 回答