Mik*_*e O 2 alamofire afhttpsessionmanager swift3
使用Alamofire 4.0和Swift 3.0这有效:
Alamofire.request("http://content.uplynk.com/player/assetinfo/ab19f0dc98dc4b7dbfcf88fa223a6c3b.json", method: .get).responseJSON {
(response) -> Void in
print("Success: \(response.result)")
}
Run Code Online (Sandbox Code Playgroud)
成功:成功
但是,当我尝试使用Sessionmanager以便我可以包含timeoutInterval时,我的请求总是失败
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 15
let alamofireManager = Alamofire.SessionManager(configuration: configuration)
alamofireManager.request("http://content.uplynk.com/player/assetinfo/ab19f0dc98dc4b7dbfcf88fa223a6c3b.json").validate().responseJSON {
response in
print("Success: \(response.result)")
print("Response String: \(response.result.value)")
}
Run Code Online (Sandbox Code Playgroud)
成功:失败
如果有人能帮助我指出正确的方向,将不胜感激.
dam*_*sar 12
通过印刷response.result.error我得到:
Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=http://content.uplynk.com/player/assetinfo/ab19f0dc98dc4b7dbfcf88fa223a6c3b.json, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=http://content.uplynk.com/player/assetinfo/ab19f0dc98dc4b7dbfcf88fa223a6c3b.json}
Run Code Online (Sandbox Code Playgroud)
这引出了我的参考:
您需要确保保留经理.这里的区别在于初始化的管理器不是拥有的,并且在它超出范围后不久就会被释放.因此,任何待处理的任务都将被取消.
解:
解决问题的一种方法是将类声明之外的自定义会话管理器声明为全局变量,如此...
let sessionManager: SessionManager = {
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 15
return SessionManager(configuration: configuration)
}()
Run Code Online (Sandbox Code Playgroud)
现在,在您的班级中,您可以提出请求.
class ViewController: UIViewController {
let url = "http://content.uplynk.com/player/assetinfo/ab19f0dc98dc4b7dbfcf88fa223a6c3b.json"
override func viewDidLoad() {
super.viewDidLoad()
sessionManager.request(url).validate().responseJSON { response in
switch response.result {
case .success:
print(response.result.value as! NSDictionary)
break
case .failure:
print(response.result.error!)
break
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
哪个会给你你想要的东西.希望有所帮助!
| 归档时间: |
|
| 查看次数: |
2972 次 |
| 最近记录: |