iOS - RestKit 并清除所有数据?
我使用 RestKit 进行 Web 服务调用、缓存和 etag。 我实现了自己的 coredata 模型和 ManagedObjects
一旦用户退出,我就需要清除数据库中的所有数据。 我能够成功删除 sqlite 文件并重新创建它,但我找不到清除所有 RestKit 捕获和 etag 数据的方法。 如何彻底清除 RestKit 存储的所有数据?
I am using RestKit for webservice calls, caching, and etags.
I implemented my own coredata model and managedObjects
As soon as the user signs out I need to clear all data in the database.
I was able to successfully delete the sqlite file and recreate it, but I can't find out a way to clear all RestKit catching and etag data.
How can I completely wipe all data stored by RestKit?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您想要调用
[[RKClient sharedClient].requestCache invalidateAll];
将缓存擦除干净。您可以查看API 文档。You want to call
[[RKClient sharedClient].requestCache invalidateAll];
to wipe the cache clean. You can view the API docs.使用 RKManagedObjectStore 类中的以下方法。
<代码>
- (void)deletePersistantStoreUsingSeedDatabaseName:(NSString *)seedFile
http://restkit.org/ api/0.9/Classes/RKManagedObjectStore.html#//api/name/deletePersistantStoreUsingSeedDatabaseName:
Use the following method from the RKManagedObjectStore class.
- (void)deletePersistantStoreUsingSeedDatabaseName:(NSString *)seedFile
http://restkit.org/api/0.9/Classes/RKManagedObjectStore.html#//api/name/deletePersistantStoreUsingSeedDatabaseName:
在 Restkit 0.20 中
试试这个:
对我有用=)
In Restkit 0.20
try this:
worked for me =)
在 RestKit 0.20.2 中,以下示例可以实现这一目的。它基于 RKTestFactory.m 文件中 RestKit/Testing 组件中的代码,并且在我的项目中运行良好。
另外,如果 RestKit 正在管理您的 CoreData 堆栈(这就是我的设置方式),请记住删除 RestKit 设置中使用 NSManagedObjectContext 的任何 NSFetchedResultsController。
In RestKit 0.20.2 the following example does the trick. Its based off code found in the RestKit/Testing component in the file RKTestFactory.m and has worked great in my project.
Also, If RestKit is managing your CoreData stack, which is how mine is set up, remember to delete any NSFetchedResultsController that are using the NSManagedObjectContext in your RestKit setup.