iOS开发简记(7):网络请求模块

时间:2019-07-05
本文章向大家介绍iOS开发简记(7):网络请求模块,主要包括iOS开发简记(7):网络请求模块使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

主流的APP都少不了跟服务器交互,网络请求是少不了的事情。

开源的网络请求库,有很多,比如:AFNetworking、YTKNetwork、PPNetworkHelper、ASIHttpRequest,等等。

这里记录AFNetworking的使用。

(1)安装afnetworking

跟使用QMUIKit一样,小程以cocoapods的方式来引入AFNetworking。

先用pod命令来查找AFNetworking的最新版本:

pod search AFNetworking

查找结果如下:

在Podfile中,加入上图红框的内容,如下:

在podfile所在目录,执行:

pod install

安装完毕,在目标项目内可以看到afnetworking的身影,比如:

(2)使用afnetworking

对于afnetworking的使用,可以参考“官方”网站:https://github.com/AFNetworking/AFNetworking

这个网页的Usage部分,详细介绍了afnetworking的使用(包括对网络状态的监听、上传下载、数据请求等等),还提供了演示代码,但是注意这里的介绍有可能跟不上afnetworking的版本(afnetworking一直在升级)。

小程使用afn的一个示例是这样的:

以上使用了manager的GET方法,这个方法是异步请求,事实上,afn的请求都是异步的。

在某些场景,或在某些代码实现上,同步请求会更方便控制,为了使用同步请求,可以考虑这个开源项目:https://github.com/paulmelnikow/AFNetworking-Synchronous

同样可以用pod来引入这个同步afn的项目(比如对于afnetworking3.x版本):

pod 'AFNetworking-Synchronous/3.x'

然后按这个项目介绍的那样,进行同步请求:

最后提一下,对于请求返回的json数据,afn已经做了解析(一般解析成dictionary)。如果想单独处理json数据,可以使用MJExternsion这个开源库,可以这样安装:

pod 'MJExtension', '~> 3.0.15.1'

使用上,请参考https://github.com/CoderMJLee/MJExtension


$flag 上一页 下一页