Alamofire 4.0踩坑

引子

之前在OC开发中习惯了AFN的各种便捷操作,到了Swift中各种想办法解决数据请求和解析问题。百思不得解,终于找到了Alamofire这个第三方库,但是这个库在普通引用上与OC的直接引用有所不同,但是使用cocoaPods导入还是相同的。

导入方法

首先我们从GitHub上下载Alamofire的最新版到本地,需要知道的是下载的文件中有Alamofire的2,3,4的各个版本的开发文档,我们对照文档即可进行数据的请求。
当然我们要注意的是它的引用方式,打开工程Alamofire的工程,我们需要关注的是它的Xcodeproj,因为我们需要使用传统的addfile将它添加到项目中,当然,即时添加到项目中了。但是你在工程中引入的时候还是会报错,所以此时,你应该添加你所引入的xcodeproj中所包含的Alamofire 的framework,具体:选中项目 TARGETS > General > Embedded Binaries > +(添加) 完成。 注意选择对应的framework,我们这里选择frameworkiOS
如图
clean,运行即可成功

利用Alamofire完成数据请求

导入数据之后,最重要的当然是进行数据请求了。Alamofire针对Swift3推出了Alamofire4作为新的框架,对一些API进行了修改。

最简单的数据请求

Alamofire.request("https://api.500px.com/v1/photos").responseJSON { (DataResponse) in
print(DataResponse.data)
if let Json = DataResponse.result.value{
print("Json:\\(Json) ")
}

请求结果

{"error":"Consumer key missing.","status":401}

附复杂请求方式

// Alamofire 4
let parameters: Parameters = ["foo": "bar"]
Alamofire.request(urlString, method: .get, parameters: parameters, encoding: JSONEncoding.default)
.downloadProgress(queue: DispatchQueue.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)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值