OC转swift3.0 实践 (三)网络层初探

通过API获取到的数据.png

如上图是此次的效果图,在这先声明,此次的数据是从API那边获取再渲染上去的,并不是像OC转swift3.0实战 (二)使用自定义cell的tableview那样直接把数据写死,毕竟二那边只是UI,今天要说的网络层是在二的基础上继续的下一步,下面进入正题。
首先,我们会想到OC有几个强大的第三方库,网络请求AFNetworking,JSON处理用JSONModel,YYModel,MJExtension等,我有几个朋友换了公司,项目用Swift,但里面还是通过桥文件用的AFNetworking ,这我听着都尴尬,搞得我强迫症都犯了。后来查询了下资料,发现对于Swift的网络请求,AFNetworking的“爸爸”也早就给他搞了个弟弟——Alamofire,没错,两个库都是出自同一个人之手。


对于JSON处理方面,在Swift界有个大名鼎鼎的库SwiftyJSON,但是这个库也不是那么完美,原因如下:

1.SwiftyJSON 可以不建Model,无限得用JSON["xxx"]["yyy"]["zzz"]......,这对于后台返回的JSON数据少的话也许是件好事,但如果后台返回的数据一层套一层呢?字典里面有数组,数组里面又有字典.....想想也是酸爽,而且这样对于日后不管是自己维护还是他人接手,都是一件相当蛋疼的问题,谁也不能保证后台的数据结构发生变化,代码的可读性也是很重要的。
2.既然不建Model不怎么合适,那我建一个不就行了吗?不好意思!SwiftyJSON只能帮你解析成json数据,但它还不能帮你自动映射到Model中去

那么接下来该怎么办呢?
不急,Model肯定是要建的,现在的问题是找一个能帮SwiftyJSON忙的,帮它把解析出来的json数据映射到Model中去。那么 HandyJSON就登场了。它就是来帮SwiftyJSON忙的。关于它的的用法和身世啥的可以参考这篇文章
最后,我给出了一套适合自己的网络层套餐

Alamofire+ SwiftyJSON+ HandyJSON,

关于具体在项目中怎么结合使用,请看OC转swift3.0实战 (四)网络层实操

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,429评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 14,119评论 9 105
  • 1 隆冬夜,大雪纷飞,地面安静而寒冷。 三只狗崽就在这个冬天降临在一户人家阴寒的冷灶边,寒冷的水滴自雪水融化,接连...
    麻绳先生阅读 4,130评论 2 20
  • 上次作业读到贾旭同学的文章,将其复盘操作拿来用。 1,不在同一坑里跌倒,避免重复犯错; 坑1:做波段 贸然闯进区块...
    李双男阅读 1,580评论 2 0
  • 今天早晨一个不小心,脱衬衣的时候把手腕上的镯子带下来,掉在地上摔成了好几个碎片。 这是一只白色的玉镯,外观较市面上...
    海上罗兰阅读 4,427评论 8 2

友情链接更多精彩内容