ios-Alamofire的简单使用

来源:互联网 发布:java堆栈溢出怎么解决 编辑:程序博客网 时间:2024/06/05 05:16

关于这个框架其实是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方便
原创粉丝点击