#pragma mark - init and dealloc
// 初始化和析構(gòu)
#pragma mark - View Life
//視圖生命周期
#pragma mark - Setup
//創(chuàng)建視圖等
#pragma mark - Lazy Load揪垄、Getter、Setter
//懶加載老充、Getter和Setter
#pragma mark - Public Methods(控制器類.h中聲明的方法)
#pragma mark - Event、Callbacks
//事件螟左、回調(diào)等(觸摸事件,通知觅够,定時器事件胶背,其他的注冊事件等)
#pragma mark - Delegate And DataSource
//代理和數(shù)據(jù)源方法
#pragma mark - Private
//私有方法
//關(guān)于private methods,正常情況下ViewController
//里面不應(yīng)該寫
//不是delegate方法的喘先,不是event response方法的钳吟,
//不是life cycle方法的,就是private method了
對的窘拯,正常情況下ViewController里面一般是不會存在private methods的红且,這個private methods一般是用于日期換算、圖片裁剪啥的這種小功能涤姊。這種小功能要么把它寫成一個category暇番,要么把他做成一個模塊,哪怕這個模塊只有一個函數(shù)也行思喊。
ViewController基本上是大部分業(yè)務(wù)的載體壁酬,本身代碼已經(jīng)相當(dāng)復(fù)雜,所以跟業(yè)務(wù)關(guān)聯(lián)不大的東西能不放在ViewController里面就不要放恨课。另外一點舆乔,這個private method的功能這時候只是你用得到,但是將來說不定別的地方也會用到剂公,一開始就獨立出來希俩,有利于將來的代碼復(fù)用。
認(rèn)真看是不是發(fā)現(xiàn)了其實很多的業(yè)務(wù)邏輯我們都能通過category
的方式從Controller
中分離出去纲辽。在這里我非常同意Casa大神的話:不應(yīng)該出現(xiàn)私有方法
颜武。對于控制器來說璃搜,私有方法基本都是數(shù)據(jù)相關(guān)的業(yè)務(wù)處理,將這些業(yè)務(wù)通過category
或者策略模式分離出去會讓控制器更加簡潔
作者:sindri的小巢
鏈接:http://www.reibang.com/p/4847c9a1e19b
來源:簡書
著作權(quán)歸作者所有盒刚。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)腺劣,非商業(yè)轉(zhuǎn)載請注明出處。