Ios5 UIManagedDocument不会立即更新关系的更改
我在项目中使用UIManagedDocument,必须更改现有对象的关系 数据库中已经存在所有对象,因此我不处理临时ID/permanentID问题。我还在UIManagedDocument上几乎使用Ios5 UIManagedDocument不会立即更新关系的更改,ios5,uimanageddocument,Ios5,Uimanageddocument,我在项目中使用UIManagedDocument,必须更改现有对象的关系 数据库中已经存在所有对象,因此我不处理临时ID/permanentID问题。我还在UIManagedDocument上几乎使用updateChangeCount:来保存更改。因此,UIManagedDocument中通常的嫌疑犯不应该有问题 型号: Company |-- Department |-- Employee 操作: Company |-- Department
updateChangeCount:
来保存更改。因此,UIManagedDocument中通常的嫌疑犯不应该有问题
型号:
Company
|-- Department
|-- Employee
操作:
Company
|-- Department
|-- Employee
通过调用[a部门设置公司:新公司]
将部门从一家公司移动到另一家公司
情景1(成功):
对实体Department
调用company=newCompany
执行fetchRequest,返回预期结果
情况2(失败):
Company
|-- Department
|-- Employee
对实体Employee
调用department.company=newCompany
执行fetchRequest不会返回任何结果
只有在UIManagedDocument自动保存后,情况2才会成功
有什么办法解决这个问题吗?在处理这个问题很长一段时间后——不幸的是,连苹果的工程师都没能帮上忙——我终于找到了解决办法
调用[myManagedDocument saveToURL:fileURL for SaveOperation:UIDocumentSaveForOverwrite completionHandler:nil]代码>更改关系后解决问题并立即返回正确状态
无论如何,我正在填写一份bug报告,以便通过updateChangeCount:
同样的问题来完成这项工作。通过保存managedObjectContext及其父上下文,我最终找到了一个解决方案
NSError *error;
if ( ![self.fetchedResultsController.managedObjectContext save:&error] ||![self.fetchedResultsController.managedObjectContext.parentContext save:&error]) {
// .....
}