我在我的应用程序中使用NSManagedObjectContextObjectsDidChangeNotification notfication,我现在已经使用它了。正如我使用下面的代码添加观察者......
- (void) awakeFromNib {
NSNotificationCenter *nc;
nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector(syncKVO:)
name:NSManagedObjectContextObjectsDidChangeNotification
object:nil];
}
- (void)syncKVO:(id)sender {
NSNotificationCenter *nc;
nc = [NSNotificationCenter defaultCenter];
[nc removeObserver:self
name:NSManagedObjectContextObjectsDidChangeNotification
object:nil];
// Do stuff.
[nc addObserver:self
selector:@selector(syncKVO:)
name:NSManagedObjectContextObjectsDidChangeNotification
object:nil];
}
但是我想查看userInfo字典以确保实际上必须触发该方法,我该怎么做?
答案 0 :(得分:6)
查看NSManagedObject
的{{3}}会给出答案。
通知有documentation,其中一个是返回-userInfo
的{{1}}方法。
看起来你的syncKVO:方法不正确;通知处理程序应将通知对象作为参数。
您要查找的通知的three instance methods会显示此通知的字典中的键,您可以使用类似的内容来获取您可能需要的内容:
userInfo dictionary