不知不覺(jué)團(tuán)隊(duì)已經(jīng)有了4個(gè)iOS開(kāi)發(fā),大家的代碼風(fēng)格完全不一樣,所以每次改起別人的代碼就頭疼,理解起來(lái)不是那么順暢,如鯁在喉。所以,就開(kāi)了場(chǎng)分享會(huì),把一些基本調(diào)用方法和代碼風(fēng)格統(tǒng)一了一下。
前言
主要參考了:
view層的組織和調(diào)用方案
更輕量的View Controllers
整潔的Table View代碼
因?yàn)槊總€(gè)人的風(fēng)格不一樣,有些地方很難定義哪個(gè)好那個(gè)壞,但是同樣的風(fēng)格很重要,對(duì)團(tuán)隊(duì)有很大的好處。這些博客都詳細(xì)介紹了這樣做的原因,我這里就把他們的精髓吸取了,加了些自己的想法,就把格式直接定下來(lái)了。
ViewController代碼結(jié)構(gòu)
-
所有的屬性都使用Lazy Init,并且放在最后。這樣既美觀,對(duì)于數(shù)組之類的屬性也避免了崩潰
- viewDidLoad:addSubview,configData,這樣會(huì)很美觀
-
viewWillAppear:布局,布局這個(gè)時(shí)候設(shè)好處很多,比如我們iPad版類似qq空間,一個(gè)VC容器里放兩個(gè),frame在WillAppear時(shí)在確定,這樣復(fù)用到iPhone版本就不用修改什么。
設(shè)置Nav,TabBar是否隱藏,Status顏色。在WillDisAppear在設(shè)回原來(lái)的狀態(tài),這樣就不會(huì)影響別人的VC。
-
ViewDidAppear:添加Notification監(jiān)聽(tīng),在DidDisappear里remove掉。
-
每一個(gè)delegate都把對(duì)應(yīng)的protocol名字帶上,delegate方法不要到處亂寫(xiě),寫(xiě)到一塊區(qū)域里面去
-
event response專門(mén)開(kāi)一個(gè)代碼區(qū)域,所有button、gestureRecognizer的響應(yīng)事件都放在這個(gè)區(qū)域里面,不要到處亂放
- private/public methods,private methods盡量不要寫(xiě),可能以后別的地方會(huì)用到,做一個(gè)模塊或者category。
view的布局和寫(xiě)法
在一個(gè)VC或者View里,要么全用Masonry,要么全用frame。這個(gè)要統(tǒng)一,看起來(lái)很美觀。
storyboard絕對(duì)不用,主要是純代碼結(jié)合x(chóng)ib。
網(wǎng)友評(píng)論