我在我的项目中使用了一个UIManagedDocument,并且必须改变现有对象的关系。
数据库中已经存在所有对象,因此我不处理临时in /永久in问题。我还几乎在UIManagedDocument上使用UIManagedDocument来保存更改。所以这不应该是UIManagedDocument通常的嫌疑人的问题。
模型:
Company
|-- Department
|-- Employee操作:
通过调用Department将Company从一个Company移动到另一个[aDepartment setCompany:newCompany]。
情景1(成功):
在实体fetchRequest上执行Department调用company = newCompany返回预期的结果。
情景2(失败):
在实体fetchRequest上执行Employee调用department.company = newCompany不返回结果。
情况2只有在UIManagedDocument自动保存后才能成功.
有什么办法解决这个问题吗?
发布于 2012-06-14 07:43:40
在处理这个问题很长一段时间之后--不幸的是,即使是苹果的工程师也没能帮上忙--我找到了一个解决方案。
更改关系后调用[myManagedDocument saveToURL:fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:nil];解决了问题,并立即返回正确的状态。
无论如何,我正在填写一个bug报告,以便通过updateChangeCount:__完成这一任务。
发布于 2012-07-30 08:55:01
同样的问题。通过保存managedObjectContext及其父上下文,我终于找到了一个解决方案。
NSError *error;
if ( ![self.fetchedResultsController.managedObjectContext save:&error] ||![self.fetchedResultsController.managedObjectContext.parentContext save:&error]) {
// .....
}https://stackoverflow.com/questions/10798500
复制相似问题