我目前正在使用Alamofire来调用API,并且我希望响应被缓存以便重用(Alamofire默认提供),但最多只能使用一个小时,然后它应该在上述时间段之后再次调用该API。
AF.request("someUrl...")
.validate().responseJSON { response in
switch response.result {
case .success:
// some logic
case .failure(let error):
print(error)
}
}
一切似乎都不错,但是我找不到使用Alamofire来了解或更改缓存时间的方法。
有人可以建议我如何更改缓存时间并将其集成到上面的代码中吗?
在此先感谢您的时间和帮助。
答案 0 :(得分:0)
您需要自己处理它,这意味着您需要跟踪上次缓存的图像的时间;如果先前的请求早于您的时间限制,则在再次触发该请求之前,请删除缓存的响应,例如:
let urlRequest = URLRequest(url: URL(string: "someUrl...")!)
URLCache.shared.removeCachedResponse(for: urlRequest) // remove older cache
// now request again, with your method.
AF.request("someUrl...")
.validate().responseJSON { response in
switch response.result {
case .success:
// some logic
case .failure(let error):
print(error)
}
}