通过Alamofire获得response
后,在某些情况下,实施数据库或管理本地存储我自己(文件等)可能有点矫枉过正。
我了解Alamofire的requestCachePolicy
并且它已经缓存了回复(基于cache-control
' max-age
),但是这更多地与减少请求数量/改善体验在线时。
但是当我通过Alamofire没有可用的连接时,是否可以使用缓存的响应? (Alamofire是否提供某种方便的方法来处理此问题)
答案 0 :(得分:0)
实现此行为。您应该尝试修改“正在进行”的请求即将执行并设置标志returnCacheDataDontLoad
或returnCacheDataElseLoad
以获得所需的行为。 (取决于您的需求)
类似的东西:
var req = URLRequest(url: URL(string: "http://foo.bar.com/res")!)
if noInternet {
req.cachePolicy = .returnCacheDataDontLoad
}
同时确保应用正在与服务器协商的缓存策略,以防您需要进行调整。
希望它有所帮助! :)