0

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

所有对象都已存在于数据库中,因此我不处理temporaryID/permanentID 问题。我也几乎updateChangeCount:在我的 UIManagedDocument 上使用来保存更改。所以它不应该是 UIManagedDocument 的常见嫌疑人的问题。

模型:

Company
   |-- Department
          |-- Employee

手术:

通过调用将 aDepartment从一个移动到另一个。Company[aDepartment setCompany:newCompany]

情况1(成功):

Department对实体调用执行 fetchRequestcompany = newCompany会返回预期结果。

情况2(失败):

Employee对实体调用执行 fetchRequestdepartment.company = newCompany不会返回任何结果。

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

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

4

2 回答 2

0

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

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

无论如何,我为此填写了一份错误报告,以便通过updateChangeCount:.

于 2012-06-14T07:43:40.667 回答
0

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

NSError *error;
if ( ![self.fetchedResultsController.managedObjectContext save:&error] ||![self.fetchedResultsController.managedObjectContext.parentContext save:&error]) {
    //  .....
}
于 2012-07-30T08:55:01.350 回答