ios-Alamofire的简单使用

移动开发 waitig 553℃ 百度已收录 0评论

关于这个框架其实是AFN的作者Matt Thompson用Swift写的一个轻量级别的网络框架。

在接收全新的框架之前,我觉得我们第一时间要去做的就是去阅读官方文档,以及去下载官方的示例程序。

废话不多说,先记录下自己的一些使用情况和一些笔记。

发送网络请求的方法,其中

参数1:传入url地址

参数2:传入发送请求的方式

参数3:发送请求的参数

参数4:指定服务器支持的编码的格式,如果服务器支持的编码格式不是UTF8的话,我们就可以通过指定encoding来指定编码的格式

参数5:需要告诉服务器的额外信息的,也就是请求头的信息,我们要传入什么比如说我们可以设置User-Agent或者是Accept-Language等等

 Alamofire.request(url: ,
 method: , 
 parameters: ,
 encoding: , 
 headers: )

在Alamofire中调用函数的方式,其实是链式相应的方式,因为调用它的方法相当于是一个接一个的调用,比如说如下所示

 Alamofire.request(url!, method: .get,parameters:["name":"zhangsan"],headers:["User-Agent":"iPhone"]).responseJSON { (response) in
            
           //result.value就是反序列化完成的字典或者数组
           print(response.result.value)
           //如果有错误就是通过result.error来获取
           print(response.result.error)
           //判断是否成功
           print(response.result.isSuccess)
           //判断是否失败
           print(response.result.isFailure)
            }.responseString { (response) in
             /**此处是输出字符串的响应的结果,也就是说这里其实就相当于在AFN中,我们想把AFN不要做反序列化先,
             先转化成字符串格式,方便我们查看返回的数据,是什么类型的*/
          print(response.result.value)
        }
        
        print("加载请求")
    }

通过进入头文件观察,这些返回值都是Self,Self代表的应该就是当前类的实例。

 public func responseJSON(
        queue: DispatchQueue? = nil,
        options: JSONSerialization.ReadingOptions = .allowFragments,
        completionHandler: @escaping (DataResponse<Any>) -> Void)
        -> Self

总结来说就是如果我们使用了responseJSON,就不要再去指定相应的数据格式了比如说text/plain,还有就是如果服务器返回的数据类型不正确的话,我们就用responseString查看返回的JSON字符串,还有就是不再提供网络的指示器了,需要我们自己进行添加。还有就是支持链式的相应。还有就是上传文件的方法没有AFN方便


本文由【waitig】发表在等英博客
本文固定链接:ios-Alamofire的简单使用
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)