【问题标题】:AFNetworking 2.0 load from cache and then from remote?AFNetworking 2.0 从缓存加载然后从远程加载?
【发布时间】:2016-01-25 17:44:55
【问题描述】:

我的应用发出大量服务器请求,其结果不断变化。我想知道当我进入视图控制器时是否有可能从缓存加载数据(因此,它不会显示为空),然后从服务器加载以使用新数据更新视图。我检查了不同的缓存策略,但没有一个这样做。谁能告诉我这样做的正确方法?

【问题讨论】:

    标签: ios caching afnetworking


    【解决方案1】:

    您可以分两步实现:

    1. 在 viewWillAppear 中,您可以异步请求将缓存策略设置为 NSURLRequestReturnCacheDataDontLoad 的数据。当响应可用时,您应该使用数据更新您的 UI。

    2. 之后,例如在 viewDidAppear 上,您可以启动一个将缓存策略设置为 NSURLRequestReloadIgnoringLocalCacheData 的异步请求。

    【讨论】:

    • 这似乎是一个不错的解决方案。不幸的是,我在更改单个请求的缓存策略时遇到了问题。我检查了这个解决方案stackoverflow.com/questions/29052322/…,但也不起作用
    • 对此我很抱歉。他们的文档说它应该可以工作。
    【解决方案2】:

    我认为最好的方法是使用 CoreData 来保存以前的请求。从本地数据库加载一些数据,并在请求完成后更新视图控制器。
    干杯。

    【讨论】:

      猜你喜欢
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 2014-05-07
      • 2012-04-18
      相关资源
      最近更新 更多