2012-11-15 2 views
0

"Me"라는 관리 객체를 유지하기 위해 MagicalRecord를 사용하고 있습니다.왜 MR_save는 작동하지 않지만 MR_saveNestedContexts는 작동합니까?

NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread]; 
[Me MR_createInContext:localContext]; 
[localContext MR_save]; 

데이터 그러나 아래를 유지하지 않는 상기 방법을 수행 :

여기서 두 I이려고 방법 (첫 번째 방법은 데이터를 유지하지 않지만, 두 번째는 않음) 인
NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread]; 
[Me MR_createInContext:localContext]; 
[localContext MR_saveNestedContexts]; 

왜 MR_save가 작동하지 않습니까? 코멘트에서

+1

[ "MagicalRecord에 대해서는 MR_saveNestedContexts와 MR_save의 차이점은 무엇입니까?"] (http://stackoverflow.com/questions/13300129/regarding-magicalrecord-what-is-the-difference-between-the -methods-mr-saveneste/13344324 # 13344324). 두 가지 방법 사이에 좋은 설명이 있습니다. – Gobot

+0

새 엔티티가 저장 될 때마다 MR_save와 MR_saveNestedContexts를 모두 호출하는 것이 중요합니까? – zakdances

+0

버전 2.0.8의 경우, 중첩 된 컨텍스트를 저장소에 유지하려면 'MR_saveNestedContexts'를 사용하십시오. ** 부모 중 한 명만 저장하려면'MR_save'를 사용하십시오. ** 만약 부모가 root/default context 인 경우,'MR_saveNestedContexts'와'MR_save'는 똑같은 일을합니다. 이것은 저장을 지속하는 것입니다. – Gobot

답변

0

:

"Regarding MagicalRecord, what is the difference between the methods MR_saveNestedContexts and MR_save"를 참조하십시오. 두 가지 방법 사이에 좋은 설명이 있습니다.

2.0.8 버전에서 중첩 된 컨텍스트를 저장소에 유지하려면 MR_saveNestedContexts을 사용하십시오. 부모 중 하나만 부모를 저장하려면 MR_save을 사용하십시오. IF 부모가 루트/기본 컨텍스트 인 경우 MR_saveNestedContextsMR_save이 동일한 작업을 수행하므로 저장소에 유지됩니다.

관련 문제