以前在使用swift 的时候,每次遇到数据解析,字典转模型的时候,常常是痛苦万分...

代码真的丑,要不是如下图底层封装了try catch 真不知道要写多少if let ,guard let

后来尝试用了HandyJSON,用起来还是不顺手,索性直接混了OC的MJExtension,如图

swift4.0出来后,并没有怎么关注,不过不打算混OC了,于是 pod 'HandyJSON' -> pod install-> 编译,然后就华丽丽的报错了...

Excuse me,百度了下,居然没有人遇到过这个错误,莫非 <-- 不合法??但是这只是一个方法命名,没关系的呀,最终还是解决不了...
不过在网上找到了swift 4.0 新特性Codable,好吧,苹果爸爸,你超棒的。
网络请求这块还是采用简单封装Alamofire来实现,代码如图:

然后创建模型对象,开发时间长了,用过MVVM、MVP,一个个鼓吹的贼厉害,然鹅,我还是觉得MVC好用,毕竟谁说数据不能封在Model层和View层的,言归正传 Codable真的超级好用,异常强大。model中代码如图所示

controller中调用代码如图所示

swift的数据解析从未如此轻松过,下载地址:https://github.com/pengjinguang521/testCodable
网友评论