我正在使用两个RKObjectManagers,一个没有RKManagedObjectStore(它是共享实例),另一个有。当我尝试像这样设置RKManagedObjectStore时:
[self.storeBackedObjectManager setObjectStore:[RKManagedObjectStore objectStoreWithStoreFilename:@"conversations.sqlite"]];
我收到以下错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '[RKObjectManager sharedManager].objectStore cannot be nil'
RestKit似乎试图在NSManagedObject+ActiveRecord.m
中访问sharedManager的对象存储(不使用对象存储):
+ (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 :(得分:0)
您正在尝试将共享RKObjectManager用于托管(coredata)和非托管模型。您必须为该RKObjectManager设置objectStore属性。
我认为您可以单独使用两个RKObjectManagers,只需使用initWithBaseURL