当前位置: 首页 > news >正文

淄博网站快照优化公司长春网站建设5219

淄博网站快照优化公司,长春网站建设5219,网站提交做外链有什么作用,湖北工程建设招投标中心网站前言 HandyJSON群里说建议不要再使用HandyJSON,我最终选择了SmartCodable 来替换,原因如下: 首先按照 SmartCodable 官方教程替换 大概要替换的内容如图: 详细的替换教程请前往:使用SmartCodable 平替 HandyJSON …

前言

在这里插入图片描述
HandyJSON群里说建议不要再使用HandyJSON,我最终选择了SmartCodable 来替换,原因如下:
在这里插入图片描述

首先按照 SmartCodable 官方教程替换

大概要替换的内容如图:
在这里插入图片描述
详细的替换教程请前往:使用SmartCodable 平替 HandyJSON

忽略key的解析

在 SmartCodable 中可以使用 @IgnoredKey很方便的忽略解析 某个 Key
使用场景:
在 model 中 加入了一个默认不支持解析的字段,也不需要解析的时候,就需要加@IgnoredKey 来标识忽略解析
示例

class GetDailyPlansListModel: SmartCodable{
required init() { }
var should_study_time: String = ""
var dayCompareType = StudyDayCompare.today
}

编译报错
Cannot automatically synthesize 'Encodable' because 'StudyDayCompare' does not conform to 'Encodable'
修改

class GetDailyPlansListModel: SmartCodable{
required init() { }
var should_study_time: String = ""
@IgnoredKey
var dayCompareType = StudyDayCompare.today
}

项目中同时使用了WCDB 解决冲突

如果这个 model 同时要用来解析 json 和 存数据库,那么
注意了: 解析只会解析 CodingKeys 里面定义的字段
最简单的适配:自然是将你要解析的字段在 CodingKeys 中补全
还有一个思路:将数据解析和数据缓存分别用一个 model ,这个项目逻辑复杂的话,会非常麻烦,但如果不想存多余的字段,也只有这样了

class GiftGoodsModel: SmartCodable,TableCodable {required init() {}var id:Int = 0 // 礼包商品idvar ios_goods_id:String = "" // ios商品id "com.yuanlue.cxs.baijuyi",var name: String = "" //"庭院诗人-白居易",var price:Int = 0 //商品价格var source_price:Int = 0 //商品原价var pic:String = "" //商品图片var recommend:Bool = false //是否推荐//MARK: ==凑单var good_id:Int = 0 //商品id//MARK: ==购物车var count:Int = 0 //商品数量var gift_pack_id:Int? //礼包id(字段可空,有值是礼包,无值是普通商品)enum CodingKeys: String, CodingTableKey {typealias Root = GiftGoodsModelstatic let objectRelationalMapping = TableBinding(CodingKeys.self)case idcase ios_goods_idcase namecase pricecase source_pricecase piccase recommendcase good_idcase countcase gift_pack_id}
}

遇到解析 model 就会稍微麻烦点,要在CodingKeys 中将这个model key 加入,WCDB 不支持这种类型,就要去自定义字段映射。
详细教程前往 WCDB 官方文档查看:Swift 自定义字段映射类型

总结

以上便是我使用SmartCodable 替换 HandyJSON中遇到的值得记录的地方。改动 460个地方,替换时间 1.5 天,就是数据库冲突的解决比较耗时,如果没有跟我一样使用 WCDB 的话,替换应该挺轻松地。


感谢您的阅读和参与,HH思无邪愿与您一起在技术的道路上不断探索。如果您喜欢这篇文章,不妨留下您宝贵的赞!如果您对文章有任何疑问或建议,欢迎在评论区留言,我会第一时间处理,您的支持是我前行的动力,愿我们都能成为更好的自己!

http://www.yayakq.cn/news/538112/

相关文章:

  • 为网站网站做网络维护seo属于什么职业部门
  • 上海网站建设方法网站改版的宣传词
  • 百度建站云南服务中心建一个网站要多少钱
  • 做公司网站需要多少钱北京垡头网站建设公司
  • 制作响应式网站报价wordpress 优秀博客
  • 国内返利网站怎么做中信建设有限责任公司陈晓佳
  • 网站做代码图像显示不出来的wordpress添加人气博客导航
  • 黔南网站建设关键词排名怎么做上去
  • 新手如何学做网站网站开发软件怎么做
  • 天津网站建站pycharm做网站
  • 长春网站建设同信丹东东港
  • 400选号网站源码网站建设及
  • 平安建设网站郑州网站建设公司 艾特
  • 个人网页设计欣赏网站wordpress 163 授权码
  • 建设微网站网站排名如何稳定
  • asp做网站教程做网站的怎么学
  • 手机网站怎么建品牌软文案例
  • 青岛做公司网站的公司什么是电子商务网站建设与管理
  • 个体网站建设网站建设需要什么样的内容
  • 自助网站制作青浦做网站价格
  • 新乡建设网站公司怎么建设和聚享游一样的网站呢
  • 如何做分类网站信息营销网页设计导航字体大小
  • 学校学院网站建设目标石家庄住房和建设局网站
  • 个人电脑做网站服务器网站做网站办什么营业执照
  • 建大仁科公司网站网站开发为什么要写接口
  • 网站制作 flash 修改设计用哪些网站有哪些功能
  • 仙桃市住房建设局网站怎么做网站免费的教程
  • 大型门户网站建设运营深圳全网营销方案
  • 昌吉住房和城乡建设局网站短视频拍摄剪辑培训班
  • 做一家网站邢台信都区最新通告