CoreData NSManagingContextDidSaveChangesNotification保存空对象iOS5

时间:2013-05-01 22:53:30

标签: ios5 core-data nsmanagedobjectcontext ios5.1 uidocument

在有人建议之前,我们正在为[context save:&error];

使用一个managedObjectContext

我们正在使用iOS5在Core Data中保存一个新对象。

问题是,我们第一次保存新对象时,NSManagingContextDidSaveChangesNotification会触发,[[notification userInfo] objectForKey:NSUpdatedObjectsKey]会返回一个无人居住的对象。在iOS6中,填充了objectForKey:NSUpdatedObjectsKey

之后我们保存了objectForKey:NSUpdatedObjectsKey

我们一直使用的上下文是[[UIApplication sharedApplication] delegate].mainDocument.managedObjectContext

所以问题是,第一次调用[context save:&error]时,没有任何内容保存到数据库中。但它已保存到对象中,因此下次调用[context save:&error]时会将其放入数据库中。

有没有人对此有任何信息。我听说过iOS5中CoreData中的错误,所以如果有人有任何建议我们会很感激。

1 个答案:

答案 0 :(得分:0)

按给定顺序检查这些项目:

  • 确保第一次保存时已填充对象(例如NSLog)。
  • 确保您正确查询通知的userInfo。
  • 此时确保物理数据库不包含正确的信息(例如,通过sqlite3命令行工具)
  • 确保在检查是否填充了正确的对象时输出正确的对象。