来自官方的RestKit页面Restkit Github我找到了以下内容来重置商店:
- (void) resetSavedDatabase:(id)sender {
RKManagedObjectStore *objectStore = [[RKObjectManager sharedManager] objectStore];
[objectStore resetPersistentStores];
[objectStore save:nil];
}
有效。但是,如果我在这个方法之后执行以下操作,则会出现错误:
TestEntity *testEntity = [TestEntity createEntity];
testEntity.name = @"TestEntity";
NSError *error;
[[RKObjectManager sharedManager].objectStore save:&error];
错误:
由于未捕获的异常而终止应用 ' NSInvalidArgumentException',原因:'对象的持久存储是 无法从此NSManagedObjectContext协调器'
中访问
在后台调用所有内容。我的想法是,我想预加载一些sqlite数据,然后将它们与我的同步逻辑同步。 (当我不删除持久存储时逻辑正常工作)
有人可以帮助我吗?
答案 0 :(得分:1)
是的,它会自动重新创建商店,但在接下来的步骤中,它还会重新创建一个对象上下文。
所以你几乎肯定想在主线程上这样做。否则,RestKit会将创建的持久存储与后台线程中的对象上下文相关联,并在线程结束时消失。
我完全不明白你为什么要这样做。