RestKit多个RKObjectManagers对象映射

时间:2012-02-14 13:58:14

标签: objective-c ios restkit

我正在使用两个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实例? (如果我暂时将共享管理器设置为存储支持的实例,则此映射可以正常工作)

1 个答案:

答案 0 :(得分:0)

您正在尝试将共享RKObjectManager用于托管(coredata)和非托管模型。您必须为该RKObjectManager设置objectStore属性。

我认为您可以单独使用两个RKObjectManagers,只需使用initWithBaseURL

创建它们