小试Swift4.0 中网络请求之Alamofire
Alamofire 是一个用swift 写的HTTP 网络请求库,和OC中的AFNetworking这个网络框架是比较类似的。Alamofire是一个开源框架,点击访问Alamofire。本篇文章主要介绍Alamofire的一些基本用法。
使用环境要求
- iOS 8.0+, macOS 10.10.0+, tvOS 9.0+ and watchOS 2.0+
- Xcode 8.1+
- Swift 3.0+
安装
Alamofire是基于CocoaPods包管理的,安装Alamofire,我们首先需要安装CocoaPods,在命令行输入
$ gem install cocoapods
等待CocoaPods安装完成即可,检查是否安装成功输入
$ pod —version
能看到版本信息即为安装成功,截止到目前,最新版本为1.4.0。
使用
首先在命令行进入到项目路径下面,使用命令
$ pod init
进行初始化项目,初始化完成后,在项目路径下会生成一个Podfile的文件,该文件是用来管理引入包文件的,用vim打开Podfile
打开platform 注释,引入Alamofire后,效果如下
Podfile文件引入第三方库语法,可以查看CocoaPods 官网 ,上图指定了Alamofire的版本为4.7。
然后,在项目路径下面执行
$ pod install
即可安装我们在Podfile中指定的第三方库。
接着在需要网络请求地方导入Alamofire,
import Alamofire
我们发送一个简单的get请求
Alamofire.request(urlString).responseJSON { response in // method defaults to `.get`
debugPrint(response.request) // 返回请求URL debugPrint(response.result) // 返回是否成功 debugPrint(response.value) // 返回请求成功数据 }
接着我们发送一个带参数的get请求
let parameters: Parameters = ["foo": "bar"]
Alamofire.request(urlString, method: .get, parameters: parameters, encoding: JSONEncoding.default)
.downloadProgress(queue: DispatchQueue.global(qos: .utility)) { progress in
print("Progress: \(progress.fractionCompleted)")
}
.validate { request, response, data in
// Custom evaluation closure now includes data (allows you to parse data to dig out error messages if necessary)
return .success
}
.responseJSON { response in
debugPrint(response)
}
这里加入了请求的编码类型,validate验证,返回数据在response.value中进行处理。
Alamofire的基本使用到这里就结束了。
更多使用方法可以参考Alamofire 4.0文档
博客精选