任何建议之前,我们使用一个managedObjectContext为[context save:&error];
CoreData NSManagingContextDidSaveChangesNotification节省空对象的iOS5
我们节省了iOS5的核心数据的新对象。
问题是,我们第一次保存一个新的对象,NSManagingContextDidSaveChangesNotification
火灾和[[notification userInfo] objectForKey:NSUpdatedObjectsKey]
回馈一个未填充的对象。在iOS6中,objectForKey:NSUpdatedObjectsKey
已填充。
之后当我们保存objectForKey:NSUpdatedObjectsKey
被填充。
我们总是使用的上下文是[[UIApplication sharedApplication] delegate].mainDocument.managedObjectContext
。
所以问题是,第一次调用[context save:&error]
时,没有东西被保存到数据库。但它已被保存到对象中,所以下次调用[context save:&error]
时,它将被放入db中。
有没有人有关于此的任何信息。我听说过iOS5中CoreData的错误,所以如果有人有任何建议,我们将不胜感激。
我找到了问题。我们正在使用ALAssetsLibrary将图像保存到资产库中,并且当您在iOS5中首次执行此操作时,Apple会提示用户使用“...将使用您的Curent位置”来查找您保存的任何元数据。此警报阻止上下文保存。这通过关闭位置服务得以证明,并且保存起来没有问题。这也解释了为什么它只发生在我们第一次拯救它时,我们没有在第一次之后得到警报。 – hatebyte 2013-05-03 19:27:44