【发布时间】:2015-03-16 09:50:11
【问题描述】:
我有一个核心数据的实现,我需要在其中收听NSManagedObjectContextDidSaveNotification 通知,但它根本没有被分派。
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(method:)
name:NSManagedObjectContextDidSaveNotification
object:nil];
在我的实现中,如果我切换到NSManagedObjectContextWillSaveNotification,一切都会按预期工作,即我的method: 选择器会被调用。
要触发通知,我只是这样做:
NSManagedObject *object = [NSEntityDescription
insertNewObjectForEntityForName:@"Object"
inManagedObjectContext:_moc];
if (![_moc save:nil]) {
NSLog(@"saving successful, expecting notification dispatch");
}
但是什么都没有……请停下来
编辑:如果我在保存if 语句中手动发布通知NSManagedObjectContextDidSaveNotification,它会被调度并且我的method: 会被调用,但我的NSManagedObjectContext 不会在保存时自动执行它应该...
【问题讨论】:
-
不,我的问题是通知甚至没有被发送。我试过把所有东西都移到同一个线程,同样的事情。对我来说真正奇怪的是 willSaveNotification 正常发送,但 didSave-
-
您的
NSLog是否打印“保存成功”消息?你没说,这可能很重要。 -
在阅读您的帖子之前,我确实发现了问题。我是智障...
-
@Tom Harrington 只想对您的帮助表示感谢!
标签: ios objective-c core-data