【发布时间】:2016-01-25 17:44:55
【问题描述】:
我的应用发出大量服务器请求,其结果不断变化。我想知道当我进入视图控制器时是否有可能从缓存加载数据(因此,它不会显示为空),然后从服务器加载以使用新数据更新视图。我检查了不同的缓存策略,但没有一个这样做。谁能告诉我这样做的正确方法?
【问题讨论】:
标签: ios caching afnetworking
我的应用发出大量服务器请求,其结果不断变化。我想知道当我进入视图控制器时是否有可能从缓存加载数据(因此,它不会显示为空),然后从服务器加载以使用新数据更新视图。我检查了不同的缓存策略,但没有一个这样做。谁能告诉我这样做的正确方法?
【问题讨论】:
标签: ios caching afnetworking
您可以分两步实现:
在 viewWillAppear 中,您可以异步请求将缓存策略设置为 NSURLRequestReturnCacheDataDontLoad 的数据。当响应可用时,您应该使用数据更新您的 UI。
之后,例如在 viewDidAppear 上,您可以启动一个将缓存策略设置为 NSURLRequestReloadIgnoringLocalCacheData 的异步请求。
【讨论】:
我认为最好的方法是使用 CoreData 来保存以前的请求。从本地数据库加载一些数据,并在请求完成后更新视图控制器。
干杯。
【讨论】: