swift离散型网络框架利用extension加泛型

	OC见过离散型网络框架,项目用过后觉得不错不同业务扩展起来挺方便。但是最近这个项目中用的是集约型的,里面逻辑代码感觉比较冗余。但是迭代很久的项目又不能轻易动。
	刚好组员对Swift和组件化感兴趣。所以就萌发了自已写一个Swift离散型网络框架,然后给组员分享一波Swift和架构思想。

	先来看一张前期思维导图

在这里插入图片描述
整个项目基于Swift(开始4.2半个月前出了5.0也兼容) Alamofire HandyJSON。Swift出来5.0 HandyJSON库出了点问题,升级了HandyJSON) 错误:(Xcode10.2, swift5.0)
HandyJSON.Metadata.Class Xcode10.2, swift5.0 报错 linker command failed with exit code 1. Undefined symbols for architecture x86_64: “_swift_getFieldAt”, referenced from:
解决方案见链接:(https://www.cnblogs.com/sundaysme/p/10615292.html)
框架成型探讨:
最开始的时候是想利用Swift的extension做网络配置扩展。但是发现Swift3.0到4.0对extension不能够重写(@objc除外),而且Swift没有NSObject这种基类,实现业务api分离需要model都继承它对我的模型不太友好等原因放弃了。后面想到了protocol,想利用面向协议编程。但是Swift没有可选协议,这对我们扩展肯定是不行,然后用了extension实现可选(@objc除外)。网路配置ok了,但是在网络方法封装里我利用了范型建模再加protocol,extension加protocol,逻辑都写完。但是编译存在一些self语法问题,导致搁浅。(个人觉得主要在限定类型上卡住)。OC 里面可以利用Category + YYModel不用范型也可建模。Swift建模用的HandyJSON(内存赋值映射等建模原理可以了解下)
最后参考了一篇博客,利用范型类才实现了网络配置和网络请求方法配合达到离散型网络框架。博客地址后期补上
完整性网络框架构思需要后面逐步完善大概框架如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Asia_ZhangQQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值