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
本文演示的APP的源码:
https://github.com/crazy0363/sound-show-zhiyin
本APP已上架AppStore,欢迎您使用。地址:https://itunes.apple.com/cn/app/%E5%A4%A9%E6%B6%AF%E4%BD%95%E5%A4%84%E8%A7%85%E7%9F%A5%E9%9F%B3/id1439297254?mt=8&from=groupmessage&isappinstalled=0
或在AppStore搜索“觅知音”或“天涯何处”,下载安装。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?