我有两个持久存储(它们都是 sqlite 存储),因此有两个持久存储协调器,每个协调器都使用自己的managedObjectContext 。现在,我这里有一个情况。我的一个观点是观察NSManagedObjectContextDidSaveNotification的通知。它接收通知很好,但我如何比较哪个上下文触发了通知。
我做了以下操作,看看它是否是两种情况之一;
-(void)contextSaved:(NSNotification*)notification{
NSManagedObjectContext *context = notification.object;
if(context == myFirstContext){
NSLog(@"This is the first context");
}else{
NSLog(@"This is the second context");
}
}
这两种情况都失败了,我没有得到任何类型的日志,但是如果我记录了对象的地址,看起来就好了;
NSLog(@"Notification object pointer %p, first context pointer %@", context, myFirstContext);
如何将这两个上下文与通知中的上下文进行比较并检测保存上下文并采取行动。请建议。对于您提供的任何帮助,我都会非常高兴。