優點:
-
XIB:在編譯前就提供了可視化界面,可以直接拖控件,也可以直接給控件添加約束,更直觀一些,而且類文件中就少了創建控件的代碼,確實簡化不少,通常每個XIB對應一個類。
-
Storyboard:在編譯前提供了可視化界面,可拖控件,可加約束,在開發時比較直觀,而且一個storyboard可以有很多的界面,每個界面對應一個類文件,通過storybard,可以直觀地看出整個App的結構。
缺點:
-
XIB:需求變動時,需要修改XIB很大,有時候甚至需要重新添加約束,導致開發周期變長。XIB載入相比純代碼自然要慢一些。對於比較復雜邏輯控制不同狀態下顯示不同內容時,使用XIB是比較困難的。當多人團隊或者多團隊開發時,如果XIB文件被發動,極易導致沖突,而且解決沖突相對要困難很多。
-
Storyboard:需求變動時,需要修改storyboard上對應的界面的約束,與XIB一樣可能要重新添加約束,或者添加約束會造成大量的沖突,尤其是多團隊開發。對於復雜邏輯控制不同顯示內容時,比較困難。當多人團隊或者多團隊開發時,大家會同時修改一個storyboard,導致大量沖突,解決起來相當困難。