2013-01-08 1 views
0

정확한 방법을 찾아 낼 수 없습니다. 블록에서 생성 한 객체를 유지하는 데 문제가 있습니다.Magic Record Threaded Saving

[op addCompletionHandler:^(MKNetworkOperation *completedOperation) { 

      User *u = [User MR_createEntity]; 
      u.name = @"bob"; 
      [[NSManagedObjectContext MR_contextForCurrentThread] MR_save]; 

    } errorHandler:^(MKNetworkOperation *completedOperation, NSError *error) { 
    }]; 

내가 응용 프로그램을 다시 열면 멍청한 소리가 계속납니다. 누군가 일어나는 일을 설명 할 수 있습니까? 나는 u가 새로운 맥락에서 만들어 졌다고 생각하니? 그러면 주 컨텍스트와 병합되지 않습니까?

답변

3

u을 저장하려는 컨텍스트와 동일한 컨텍스트에서 강제로 생성 한 다음 u의 컨텍스트로 저장할 수 있습니다.

User *u = [User MR_createInContext:[NSManagedObjectContext MR_contextForCurrentThread]]; 
u.name = @"bob"; 
[[u managedObjectContext] MR_saveToPersistentStoreAndWait]; 
+1

'MR_save'은 (는) 더 이상 사용되지 않습니다. 대신 'MR_saveToPersistentStore *'를 사용하십시오. –

+0

좋은 전화 Tony. 내가 편집 할게. – rickerbh