내가 나를 엔티티로 JSON을 구문 분석 할 수 있도록 내 기관에 카테고리를 가지고 :MOC의 실체를 작성하지만, 삽입하지 마십시오
- (id) populateFromJson: (NSDictionary *) json {
...
}
그래서 나는이 할 수있는 MagicalRecord를 사용하여 :
MyEntity *e = [My MR_createInContext:localContext];
[e populateFromJson:json];
을
그러나 엔티티에 구문 분석을 한 후에는 주 컨텍스트에 이미 존재하는지 확인해야합니다 (예 : 중복 확인). 이미 주 컨텍스트에있는 경우 컨텍스트에 삽입하고 싶지 않지만 MagicalRecord를 사용하여 컨텍스트의 일부로 엔티티를 만드는 방법을 찾을 수는 없지만 해당 컨텍스트에 삽입하지 마십시오.
즉, 핵심 데이터에이 작업을 수행 할 수 있습니다 : 당신에 삽입 할 수있는 상황에 nil을 통과
MyEntity *e = [[MyEntity alloc] initWithEntity:[NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:[NSManagedObjectContext MR_defaultContext]] insertIntoManagedObjectContext:nil];
. 그런 다음
나중에없는 경우 중복 수행 할 수 있습니다
[localContext insertObject:e];
내가 뭔가를 누락되거나 MagicalRecord에서이 작업을 수행 할 수있는 방법이없는 건가요?
MyEntity * e = [[MyEntity alloc] initWithEntity ...'는 컨텍스트에 개체를 삽입하지 않고 개체를 만듭니다. 이 객체는 이전 텍스트에서 암시하는 "컨텍스트의 일부"가 아닙니다. MagicalRecord를 사용할 때도 모든 Core Data 메서드를 호출 할 수 있지만, MyEntity * e = [My MR_createInContext : nil] '과 동일한 결과를 얻을 것이라고 가정합니다. –
MyEntity * e = [내 MR_createInContext : nil] 예외가 발생합니다. 이것은 MR이 nil을 엔티티의 컨텍스트로 사용하고 삽입 할 컨텍스트로 사용하려고하기 때문입니다. 내 코드는 삽입 할 컨텍스트로 nil 만 사용합니다. – lostintranslation