过去,在浏览基于 REST 的 iOS 应用程序的各种屏幕时,我使用了几种不同的策略来提供最佳用户体验:
- 利用 NSURLCache:虽然这适用于某些用例,但我对这样的方法更感兴趣:“在调用 API 时立即显示缓存,然后在必要时使用更新的数据更新屏幕”。NSURLCache 似乎只为我提供了诸如读取表单缓存或根据各种策略从远程读取之类的选项,但不从缓存读取然后从远程读取。
- 利用核心数据:通过 Restkit、AFIncrementalStore 或自定义框架,这里的想法是在调用时从核心数据中获取数据。一旦调用返回,核心数据将更新为最新数据并刷新界面。它可以很好地工作,但需要大量的配置和维护,增加了高度的复杂性。当需要离线模式时这是一个不错的选择,但如果只需要缓存,这看起来有点过头了。-
有没有人对此有不同的方法,或者有一个轻量级的库可以推荐,它提供高级缓存功能,而不需要核心数据?