UIManagedDocument不会立即更新关系更改

时间:2012-05-29 11:46:48

标签: ios5 uimanageddocument

我在项目中使用UIManagedDocument并且必须更改现有对象的关系。

数据库中已存在所有对象,因此我不处理临时ID /永久ID问题。我也在我的UIManagedDocument上使用updateChangeCount:保存更改。所以它不应该是UIManagedDocument通常的嫌疑人的问题。

型号:

Company
   |-- Department
          |-- Employee

操作:

致电Department,将Company[aDepartment setCompany:newCompany]移至另一个Department

情况1(成功):

在实体company = newCompany上执行fetchRequest,调用Employee会返回预期结果。

情况2(失败):

在实体department.company = newCompany上执行fetchRequest,调用{{1}}不会返回任何结果。

情境2仅在UIManagedDocument自动保存后成功。

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

在处理这个问题很长一段时间后 - 不幸的是,即使是Apple工程师也无法提供帮助 - 我能够找到解决方案。

更改关系后调用[myManagedDocument saveToURL:fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:nil];可以解决问题并立即返回正确的状态。

无论如何,我正在为此填写错误报告,以便通过updateChangeCount:完成此操作。

答案 1 :(得分:0)

同样的问题。我终于通过保存managedObjectContext和它的父上下文来找到解决方案。

NSError *error;
if ( ![self.fetchedResultsController.managedObjectContext save:&error] ||![self.fetchedResultsController.managedObjectContext.parentContext save:&error]) {
    //  .....
}