我的应用程序中有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;
这是否会导致问题,因为两个对象都会收到通知,或者他们是否会以不会对数据存储产生负面影响的方式对待它?
编辑: 好吧,事实证明这并不好。备择方案?如果我不在后台线程中保存其中一个,它是否还需要该通知?
答案 0 :(得分:1)
我假设您正在查看与每个NSManagedObjectContextDidSaveNotification
相关联的不同NSManagedObjectContext
中的NSPersistentStoreCoordinator
。
在您对object:
的调用中,将其指定为nil
参数,而不是addObserver
。