2012-09-20 68 views
2

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

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

任何想法如何实现这一目标?

回答

3

用RestKit 0.20做这件事的正确方法是RKManagedObjectStoreresetPersistentStores方法。