这是我的alamofire代码。
let headers: HTTPHeaders = ["Accept": "application/json",
"Authorization": Setting.getLoginStatus().accessToken]
let url = "http://thedemo.net/demo/stdinaus/api/jobs-near-me?page=1&latitude=27.6947033&longitude=85.3310636"
Alamofire.request(url, method: .get, encoding : JSONEncoding.default, headers: headers).responseJSON { (response) in
guard let jobsResponse = response.result.value as? [String:Any] else{
print("Error: \(String(describing: response.result.error))")
failure((response.result.error! as Error))
return
}
print("response: \(jobsResponse)") }
响应正常并显示在相关屏幕上。我从视图控制器中的viewDidLoad()调用它。在服务器上更新数据时,新数据不会出现在响应中。但是,如果我删除应用程序并再次运行(即如果应用程序第一次运行),那么更新的数据将正常运行。
这是alamofire代码的问题吗?请有人帮我解决这个问题。提前致谢
答案 0 :(得分:1)
可能是缓存数据问题,因此在调用API时请忽略它。
var x = response;
var list = x.list;
答案 1 :(得分:0)
因此,如果我理解正确,您希望应用中的数据在服务器中更新后立即更新?
如果是这种情况,则不应在viewDidLoad()方法中调用它,因为在加载视图时此方法仅调用一次。在重新启动应用程序之前,不会再次调用它。