2016-09-01 5 views
0

이 문제와 관련하여 정말 고민 중입니다.코어 데이터가 비공개로 개체를 업데이트하지 않습니다. 컨텍스트

코어 데이터에 개체가 저장되어 있습니다. 해당 개체의 일부 속성을 업데이트하는 메서드가 있습니다. 그 객체의 관리 객체 컨텍스트를 obj.managedObjectContext에서 사용하고 있습니다.

2 속성을 변경합니다 : obj.pending = YESobj.body = 'text'. 다음과 같이 나는 다시 코어 데이터에 객체를 저장합니다

if ([managedObjectContext save:&saveError]) { 

      [persistenceController saveContextAndWait:YES completion:^(NSError *error) { 
       [OfflineManager postData]; 
      }]; 

     } 

postData 방법은 코어 데이터에서 어디 obj.pending == YES 및 게시물 데이터를 모든 개체를 가져옵니다. managedObjectContext의 유형은 NSPrivateQueueConcurrencyType입니다.

내 문제는 다음과 같습니다. obj.pending은 업데이트 중이지만 obj.body은 그렇지 않습니다. 게시물을 게시하고 앱을 다시 시작하기 전에 앱에 중단 점을 추가하면 obj.body이 올바르게 업데이트됩니다.

문맥 문제 인 경우 왜 일부 개체 속성의 변경 사항이 보이고 그렇지 않은 것입니까?

나는 이것을 몇 시간 동안 해킹 해왔다. 어떤 도움이 가장 감사 할 것이다.

감사합니다.

+0

왜 저장소를 명시 적으로 저장합니까? 저장소에 연결된 관리 대상 객체 컨텍스트 (다른 ​​컨텍스트의 하위 객체가 아님)는이를 수행합니다. – Avi

+0

MDMCoreData - Lightweight Core Data 클래스 모음을 사용하여 내 응용 프로그램에서 내 CD를 관리합니다. – mrcurious

+0

@Avi 문제가 될 수 있으십니까? – mrcurious

답변

0

감사합니다. 문제는 지속적인 컨텍스트에서 백그라운드 컨텍스트를 처리 할 수있는 병합 처리기가 없다는 것입니다. 내 솔루션은 postData 메서드에 대해 매번 새로운 컨텍스트를 만드는 것이 었습니다.

관련 문제