最近在優(yōu)化項(xiàng)目痴奏,項(xiàng)目中一些storyboard中寫的界面蛀骇,報(bào)了一些約束錯(cuò)誤,還有的storyboard中場(chǎng)景有10多個(gè)读拆,打開起來非常慢擅憔。修復(fù)問題的同時(shí)總結(jié)一下思考。
一檐晕、關(guān)于storyboard/xib還是代碼
以前自己采用的是xib來寫控件暑诸,vc界面采用代碼來寫蚌讼。
- 優(yōu)點(diǎn):這樣的好處是不用再因?yàn)閟b中需要修改導(dǎo)致沖突,并且在一個(gè)sb中个榕,場(chǎng)景很多的情況下篡石,打開速度慢的情況∥鞑桑控件用xib來寫提高了效率凰萨。
- 缺點(diǎn):無法直觀看到頁面與頁面直接跳轉(zhuǎn),界面展示械馆。
采用sb+xib方式:
- 優(yōu)點(diǎn):vc中省去了許多界面初始化代碼沟蔑,直觀看到頁面與頁面跳轉(zhuǎn)到哪個(gè)頁面,寫界面速度快很多狱杰,不再是重復(fù)寫一些初始化代碼瘦材。
- 缺點(diǎn):多人維護(hù)sb時(shí),修改sb容易產(chǎn)生沖突仿畸。sb頁面比較多時(shí)食棕,開打速度慢。
總結(jié):不管使用純代碼错沽、sb/xib與代碼配合還是純sb+xib簿晓,出發(fā)點(diǎn)都是要提高效率,便于維護(hù)千埃。使用sb時(shí)憔儿,一個(gè)sb盡可能維持在5個(gè)vc左右,減少后期維護(hù)產(chǎn)生沖突的幾率放可,也提高打開sb的速度谒臼。復(fù)雜動(dòng)態(tài)的布局方式建議使用代碼的方式,避免因?yàn)閯?dòng)態(tài)約束產(chǎn)生沖突耀里。代碼的方式蜈缤,盡可能將控件分離到單獨(dú)一個(gè)view文件中。如果只是一個(gè)簡(jiǎn)單的button在vc上冯挎,相關(guān)初始化代碼可以在集中寫在getter上底哥。
二、調(diào)試界面Tips
在修改調(diào)試界面時(shí)房官,有時(shí)經(jīng)常找不到界面在哪個(gè)文件趾徽。或者說想定位一個(gè)按鈕在哪里文件代碼里翰守。
- 如果是界面中有自定義控件孵奶,通過視圖層級(jí)可以看出類名。
- 如果界面只是簡(jiǎn)單只用UIButton潦俺,而想修改這個(gè)button實(shí)例拒课,通過viewcontroller層級(jí)先定位到vc徐勃。可以使用lldb打印出當(dāng)前控制viewcontroller層級(jí)早像,當(dāng)定位到vc時(shí)僻肖,再去尋找相關(guān)代碼就比較容易了÷校可以使用chisel插件臀脏,這樣lldb中pvc命令就可以打印出。chisel還有其他簡(jiǎn)化命令冀自,提高工作效率揉稚。
三、參考文章:
https://onevcat.com/2013/12/code-vs-xib-vs-storyboard/
http://www.cocoachina.com/ios/20160714/17035.html