不知不覺團隊已經(jīng)有了4個iOS開發(fā),大家的代碼風格完全不一樣,所以每次改起別人的代碼就頭疼,理解起來不是那么順暢,如鯁在喉。所以,就開了場分享會,把一些基本調(diào)用方法和代碼風格統(tǒng)一了一下。
前言
主要參考了:
view層的組織和調(diào)用方案
更輕量的View Controllers
整潔的Table View代碼
因為每個人的風格不一樣,有些地方很難定義哪個好那個壞,但是同樣的風格很重要,對團隊有很大的好處。這些博客都詳細介紹了這樣做的原因,我這里就把他們的精髓吸取了,加了些自己的想法,就把格式直接定下來了。
ViewController代碼結(jié)構
-
所有的屬性都使用Lazy Init,并且放在最后。這樣既美觀,對于數(shù)組之類的屬性也避免了崩潰
- viewDidLoad:addSubview,configData,這樣會很美觀
-
viewWillAppear:布局,布局這個時候設好處很多,比如我們iPad版類似qq空間,一個VC容器里放兩個,frame在WillAppear時在確定,這樣復用到iPhone版本就不用修改什么。
設置Nav,TabBar是否隱藏,Status顏色。在WillDisAppear在設回原來的狀態(tài),這樣就不會影響別人的VC。
-
ViewDidAppear:添加Notification監(jiān)聽,在DidDisappear里remove掉。
-
每一個delegate都把對應的protocol名字帶上,delegate方法不要到處亂寫,寫到一塊區(qū)域里面去
-
event response專門開一個代碼區(qū)域,所有button、gestureRecognizer的響應事件都放在這個區(qū)域里面,不要到處亂放
- private/public methods,private methods盡量不要寫,可能以后別的地方會用到,做一個模塊或者category。
view的布局和寫法
在一個VC或者View里,要么全用Masonry,要么全用frame。這個要統(tǒng)一,看起來很美觀。
storyboard絕對不用,主要是純代碼結(jié)合xib。
延伸閱讀
學習是年輕人改變自己的最好方式
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構來看看(二) 2017-07-26