0
NSMainQueueConcurrencyType으로 생성 된 moc (self.managedObjectContext)가 있습니다. createAnObject는 것에 대한 구현을자식 컨텍스트에서 생성 된 관리 객체가 주 스레드에 반영되지 않았습니다.
ManagedObjectType1 *obj1 = [self createAnObject];
- -
이제 방법이 방법을 호출
- (ManagedObjectType1 *) createAnObject {
NSManagedObjectContext *childContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
childContext.parentContext = self.managedObjectContext;
ManagedObjectType1 *obj1 = //..initialize in childContext
return obj1
}
으로 obj1가 (이 호출 된 장소에서) 메서드가 반환 후 무기 호입니다 obj1은 반환 될 때 메서드 구현에 데이터가 있습니다.
무엇이 잘못 될 수 있습니다. NSPrivateQueueConcurrencyType 가진 childContext 할당 시도했지만 그 중 도움이되지 않았습니다.
또한이 메서드가 아닌 외부 범위에 childContext를 만들어야했습니다. 그렇지 않으면 childContext가 해제되고 반환 된 객체 (obj1)에서 모든 속성에 대해 nil을 반환하지만 그 자체에 대해서는 반환하지 않는 이상한 문제가있었습니다. – OutOnAWeekend