VC中比较有层次的分段

#pragma mark - init and dealloc
// 初始化和析构
#pragma mark - View Life
//视图生命周期
#pragma mark - Setup
//创建视图等
#pragma mark - Lazy Load、Getter、Setter
//懒加载、Getter和Setter
#pragma mark - Public Methods(控制器类.h中声明的方法)
#pragma mark - Event、Callbacks 
//事件、回调等(触摸事件,通知,定时器事件,其他的注册事件等)
#pragma mark - Delegate And DataSource
//代理和数据源方法
#pragma mark - Private
//私有方法
//关于private methods,正常情况下ViewController
//里面不应该写
//不是delegate方法的,不是event response方法的,
//不是life cycle方法的,就是private method了
对的,正常情况下ViewController里面一般是不会存在private methods的,这个private methods一般是用于日期换算、图片裁剪啥的这种小功能。这种小功能要么把它写成一个category,要么把他做成一个模块,哪怕这个模块只有一个函数也行。

ViewController基本上是大部分业务的载体,本身代码已经相当复杂,所以跟业务关联不大的东西能不放在ViewController里面就不要放。另外一点,这个private method的功能这时候只是你用得到,但是将来说不定别的地方也会用到,一开始就独立出来,有利于将来的代码复用。

View的组织

认真看是不是发现了其实很多的业务逻辑我们都能通过category的方式从Controller中分离出去。在这里我非常同意Casa大神的话:不应该出现私有方法。对于控制器来说,私有方法基本都是数据相关的业务处理,将这些业务通过category或者策略模式分离出去会让控制器更加简洁

作者:sindri的小巢
链接:https://www.jianshu.com/p/4847c9a1e19b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

相关阅读更多精彩内容

友情链接更多精彩内容