美文网首页Alamofire全面解析
Alamofire框架分析-普通任务

Alamofire框架分析-普通任务

作者: 谌文 | 来源:发表于2019-06-21 20:06 被阅读0次

普通请求任务

请求协议管理
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")的方式能获取到回调而方式二不能呢,方式二回调会报错

相关文章

网友评论

    本文标题:Alamofire框架分析-普通任务

    本文链接:https://www.haomeiwen.com/subject/kkwqqctx.html