2012-02-14 4 views
1

하나는 RKManagedObjectStore가없고 (하나는 공유 인스턴스) 다른 하나는 2 개의 RKObjectManager를 사용하고 있습니다.RestKit 여러 RKObjectManagers 객체 매핑

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '[RKObjectManager sharedManager].objectStore cannot be nil' 

RestKit는 사용하지 않는 sharedManager의 objectstore을 (액세스를 시도하는 것 같습니다 : 나는 다음과 같은 오류가

[self.storeBackedObjectManager setObjectStore:[RKManagedObjectStore objectStoreWithStoreFilename:@"conversations.sqlite"]]; 

: 그래서 같은 RKManagedObjectStore을 설정하려고 할 때 NSManagedObject+ActiveRecord.m에서 객체 저장소) :

+ (NSManagedObjectContext*)managedObjectContext { 
NSAssert([RKObjectManager sharedManager], @"[RKObjectManager sharedManager] cannot be nil"); 
NSAssert([RKObjectManager sharedManager].objectStore, @"[RKObjectManager sharedManager].objectStore cannot be nil"); 
return [[[RKObjectManager sharedManager] objectStore] managedObjectContext]; 

}

두 번째 저장소 지원 RKObjectManager 인스턴스에 대한 참조를 전달할 방법이 있습니까? (공유 된 관리자를 저장소 기반 인스턴스에 임시로 설정하면이 매핑이 제대로 작동 함)

+0

을 사용하는 것, 별도로 두 개의 RKObjectManagers를 사용할 수 있다고 생각합니다. 여기에 하나의 baseURL 만 사용하고 있지만 상점 백업 오브젝트와 비 상점 오브젝트를 혼합 할 수는 없다는 인상하에 있었지만 잘 작동하는 것으로 보입니다. 그러나 위와 같은 문제는 설명 된대로 두 가지 백업/비 백업 관리자를 사용하려고 시도 할 때도 발생합니다. 이것은 RestKit 버그 일 수 있습니까? – jumponadoughnut

답변

0

관리되는 (coredata) 및 관리되지 않는 모델에 공유 RKObjectManager를 사용하려고합니다. 해당 RKObjectManager에 대한 objectStore 속성을 설정해야합니다.

난 당신이 그냥 이후이 경우 백업 저장소를 포함하는 하나 개의 RKObjectManager 인스턴스 사실 사용 할 수 있음을 깨달았다 initWithBaseURL

+0

죄송합니다. 제 질문이 잘못되었습니다. 정확히 이것을 할 때 문제가 발생합니다. – jumponadoughnut