美文网首页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