【问题标题】:NSManagedObjectContextDidSaveNotification not being dispatchedNSManagedObjectContextDidSaveNotification 没有被调度
【发布时间】: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


【解决方案1】:

问题是保存实际上返回了一个错误。所以显然它没有保存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多