【发布时间】:2023-03-20 20:31:01
【问题描述】:
我正在使用两个 RKObjectManager,一个没有 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 实例的引用吗? (如果我暂时将共享管理器设置为存储支持的实例,此映射工作正常)
【问题讨论】:
-
我已经意识到在这种情况下我实际上可以只使用一个包含后备存储的 RKObjectManager 实例。我在这里只使用了一个 baseURL,但我的印象是我无法混合存储支持的对象和非存储支持的对象,但这似乎工作正常。但是,当尝试使用所描述的两个支持/非支持管理器时,仍然会出现上述问题。这可能是 RestKit 错误吗?
标签: objective-c ios restkit