普通请求任务
请求协议管理
Alamofire.request("https://httpbin.org/get")
相等于
let sessionManager = Alamofire.SessionManager.default
sessionManager.request("https://httpbin.org/get")
或者
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 15
sessionManager = Alamofire.SessionManager(configuration: configuration)
示例如下所示
直接使用Alamofire请求
let parameters:Dictionary = [
"one": [1,2,3],
"two": ["apple": "pig"]
] as [String : Any]
Alamofire.request("http://app-server.inside.xiaoeknow.com/api/check_phone", method: .post, parameters: parameters, encoding: JSONEncoding.default).responseJSON { (response) in
print("result==2\(response.result)") // 返回结果,是否成功
if let jsonValue = response.result.value {
print("code2: \(jsonValue)")
}
}
使用Alamofire.SessionManager方式请求(注意这种方式请求的话,需要持有这个sessionManager对象,比如建成控制器属性,负责会释放掉,无法收到回调)
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 15
sessionManager = Alamofire.SessionManager(configuration: configuration)
let parameters:Dictionary = [
"one": [1,2,3],
"two": ["apple": "pig"]
] as [String : Any]
sessionManager.request("http://app-server.inside.xiaoeknow.com/api/check_phone", method: .post, parameters: parameters, encoding: JSONEncoding.default).responseJSON { (response) in
print("result==2\(response.result)") // 返回结果,是否成功
if let jsonValue = response.result.value {
print("code2: \(jsonValue)")
}
}
为啥Alamofire.request("https://httpbin.org/get")的方式能获取到回调而方式二不能呢,方式二回调会报错
网友评论