iOS关于代码复用的一点小技巧

iOS关于代码复用的一点小技巧

今年4月份的时候,公司项目迭代版本,借着优化入库流程的契机,主要将展示快递公司这一块功能抽出来做了复用处理,并且在其他地方也做了一些可复用代码抽取工作,索性整理了一下代码复用的相关技巧。

1.在开发中,共用同一个界面的情况经常会遇到,正常情况下写界面,一般都会通过接受传递model去刷新界面做数据处理,然而在项目复杂程序上来后,在追求复用的情况下,如果一个界面复用三次,四次,那么继续根据传入的model来做处理,显得不够合理。往往这样的代码阅读起来比较困难,其次业务逻辑区分显得不够清晰,另外容易出现类似空指针,业务代码复查困难的情况。通过枚举值去处理复用界面的场景会更合理。

这里写图片描述

—回调处理
这里写图片描述

2.开发中经常会遇见业务比较独立的模块,比如在我司项目中经常会遇到选择快递公司的这一业务场景,如下

FDD5986D6D19CB95A40C91675EE9A804.png

遇到这样的复用场景,可考虑将其抽成一个独立的,对外接口尽量简单,业务完全独立的模块。

我先将tableView和其数据加载页,无数据占位页,包装在

@interface LYCompanyChoiceView : UIView

然后,申明一个配置类LYChooseExpressCompanyConfig,持有LYCompanyChoiceView,做一些业务逻辑的处理工作,并且完成自定义pop的实现

LYCompanyChoiceView 的tableView点击事件通过block回调给LYChooseExpressCompanyConfig ,config将回调事件通过代理传递给控制器

屏幕快照 2017-07-03 上午9.09.22.png

控制器中在使用时如下:

LYChooseExpressCompanyConfig 的getter方法中设置代理为某控制器

self.companyConfig.LYEDelegate = self;

最后在需要pop出快递公司的地方去调用show方法即可

 [self.companyConfig Show];

代理方法如下

屏幕快照 2017-07-03 上午9.14.54.png

3.关于业务代码的复用,业务代码注重逻辑处理,所以一般业务代码除了一些功能性的例如数据筛选,排序,数据库交互或者业务层面上的统一的页面跳转处理,数据合法性等之外,复用操作起来更复杂,并且复用面临的凤险也比较大,这方面还需要多下心思考虑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值