2012-05-29 2 views
0

내 프로젝트에서 UIManagedDocument를 사용하고 있으며 기존 객체의 관계를 변경해야합니다.UIManagedDocument가 관계 변경을 즉시 업데이트하지 않습니다.

모든 개체가 데이터베이스에 이미 있으므로 임시 ID/영구 ID 문제를 다루지 않습니다. 나는 또한 에 대한 내 UIManagedDocument에 updateChangeCount:을 사용하고 있습니다. 변경 사항을 저장합니다. 따라서 UIManagedDocument의 일반적인 용의자에 문제가 있어서는 안됩니다.

모델 :

Company 
    |-- Department 
      |-- Employee 

작동 :

이동 자신 Department[aDepartment setCompany:newCompany]를 호출하여 다른 Company 하나에서.

상황 1 (성공) :

company = newCompany 반환 예상 된 결과를 호출 엔티티 Department에 fetchRequest을 실행합니다.

상황 2 (실패) :

department.company = newCompany 반환하지 결과를 호출 엔티티 Employee에 fetchRequest을 실행합니다.

상황 2는 UIManagedDocument가 자동 저장 된 후에 만 ​​성공합니다.

이 아이디어를 해결하는 방법은 무엇입니까?

답변

0

오랜 시간이 문제를 다룬 후에도 불행히도 Apple 엔지니어도 도움을 줄 수 없었습니다. 솔루션을 찾을 수있었습니다.

관계를 변경 한 후 [myManagedDocument saveToURL:fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:nil];을 호출하면 문제가 해결되고 올바른 상태가 바로 반환됩니다.

어쨌든 updateChangeCount:을 통해 버그를보고했습니다.

0

같은 문제. 마침내 managedObjectContext와 부모 컨텍스트를 모두 저장하여 솔루션을 찾습니다.

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