2

在我的应用程序中,我使用 CoreData 和 RestKit。如果应用程序进入后台,我正在加密存储 sqlite 文件。现在,如果有新用户登录,我必须完全清除存储,以便用户从新的 Core Data 存储开始。因为我已经加密了 sqlite 存储,所以我无法解密它然后执行 [[[RKObjectManager sharedManager] objectStore] deletePersistentStore],因为解密密钥是使用用户密码作为属性创建的。所以我只是在本地删除我的“TestStore_Encrypted.sqlite”文件。但是如果用户已经登录,每个获取的请求仍然会获取数据,但 iPad 上不再存在 sqlite 文件。所以我认为它仍然在缓存中。我试图重置:

[[[[RKObjectManager sharedManager] objectStore] primaryManagedObjectContext] reset];

知道如何实现吗?

4

1 回答 1

3

使用 RestKit 0.20 的正确方法是RKManagedObjectStore'sresetPersistentStores方法。

于 2013-05-24T20:57:53.120 回答