2012-02-14 110 views
1

我使用两个RKObjectManagers,一个没有RKManagedObjectStore,(这是共享的实例)和一个用。当我试图设置像这样的RKManagedObjectStore:RestKit多个RKObjectManagers对象映射

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

我得到以下错误:

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

似乎RestKit试图访问sharedManager的对象存储(不使用对象存储),在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

我因为意识到我其实可以只使用一个RKObjectManager实例包括在这种情况下,后备存储创建它们。我用这里只是一个基本URL但我不能混用存储库的支持对象和非存储库的支持对象的印象,但是这似乎很好地工作。但是,如上所述,尝试使用两个备份/不支持的管理器时仍会出现上述问题。这可能是一个RestKit错误? – jumponadoughnut 2012-02-15 16:22:15

回答

0

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

我想你可以单独使用两个RKObjectManagers,只是用initWithBaseURL

+0

道歉,我的问题是不正确的 - 当我做的正是这种情况的问题。 – jumponadoughnut 2012-02-15 16:18:55