RestKit重置核心数据存储

时间:2012-10-26 12:12:46

标签: objective-c ios restkit

来自官方的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数据,然后将它们与我的同步逻辑同步。 (当我不删除持久存储时逻辑正常工作)

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

是的,它会自动重新创建商店,但在接下来的步骤中,它还会重新创建一个对象上下文。

所以你几乎肯定想在主线程上这样做。否则,RestKit会将创建的持久存储与后台线程中的对象上下文相关联,并在线程结束时消失。

我完全不明白你为什么要这样做。

相关问题