2014-06-14 1 views
2

나는 내 IOS 응용 프로그램에서 MR을 사용합니다. 내 이전 응용 프로그램에서와 같은 방식으로 사용하지만 내 개체는 데이터베이스에 저장되지 않습니다. 여기마법의 레코드, 저장 개체

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [MagicalRecord setupAutoMigratingCoreDataStack]; 

    NSManagedObjectContext *sampleContext = [NSManagedObjectContext MR_defaultContext]; 

    NSLog(@"hasChanges: %d", [sampleContext hasChanges]); 
    self.entity = [MyEntity MR_createEntityInContext:sampleContext]; 
    NSLog(@"hasChanges: %d", [sampleContext hasChanges]); 

    [sampleContext MR_saveOnlySelfWithCompletion:^(BOOL success, NSError *error) { 
     NSLog(@"save: %d %@", success, error); 
    }]; 

    return YES; 
} 

출력은 다음과 같습니다 :

hasChanges: 0 
hasChanges: 1 
save: 1 (null) 

나는를 다시

내가 마법 기록이 setupAutoMigratingCoreDataStack 방법 여기

*.sqlite 데이터베이스 제대로 찾아 디버그에서 볼 것은 일부 샘플 테스트 코드입니다 응용 프로그램이 엔티티가 로컬 db ([MyEntity MR_findAll])에 저장되지 않았 음을 확인하고 * .sqlite db를 열어를 참조하십시오.테이블이 비어 있습니다.

이러한 동작이 발생할 수있는 이유는 무엇입니까?

미리 감사드립니다.

답변

5

변경 사항을 상점에 푸시 다운하려면 MR_saveToPersistentStore * 변형을 사용하십시오. MR은 중첩 된 컨텍스트를 사용하므로 한 수준 만 저장하거나 저장소에 저장할 수 있습니다. 우리는 이것이 상용구 코드를 모두 작성하지 않고 원하는 옵션을 결정할 수 있도록 명시 적으로 코드를 선택했습니다.

+0

감사합니다. 나를 위해 잘 작동했습니다. 또한 해당 azaming 프레임 워크에 대해 감사드립니다. –