Xcode中StoryBoard Reference 新特性的使用
前言
StoryBoard是iOS開發中很直觀的開發工具,它可以極大的提高開發效率,但是StoryBoard由於能直接描述多個控制器頁面,也會引發一些問題。
當團隊開發時,StoryBoard中的拖入的控制器過多會導致界面錯綜復雜。並且協同開發中特別容易出現沖突。如果沖突出現了也會特別難以解決,各種連線會直接影響問題排查。
蘋果也意識到了這個問題。在iOS 9 以后引入了一個StoryBoard Reference特性。很好的解決了這個問題。
StoryBoard Reference
如圖:
介紹
StoryBoard Reference就是StoryBoard 引用的意思,它為其他的StoryBoard提供了一個站位的控制器。
使用
它使用很簡單:如圖,本來是tabbarcontroller --> navigationController --> viewController 這樣的結構,但是自控制器多了很亂,也不易調試。所以可以將每個自控制模塊單獨抽取出來,創建一個獨立的StoryBoard。
操作如下
如圖會將對應的模塊轉化成一個新的StoryBoard,並在原來部分生成一個StoryBoard Reference。效果非常直觀!
對應的就會生成幾個新StoryBoard。對應的StoryBoard就是原來每個模塊的單獨部分,這樣不僅看起來更加直觀了,還消除了很多安全隱患。
至於新的StoryBoard的使用就直接通過StoryBoard來創建對應的ViewController來設置對應的UI頁面了。
小結
- StoryBoard Reference 很方便使用,解決了StoryBoard過於龐大之后不易維護的問題。
- StoryBoard Reference 是iOS 9 之后的新特性,如果直接使用會導致系統版本在iOS 9 以下的機型無法使用
- StoryBoard Reference 做 iOS 9 以下適配。可以刪除對應的StoryBoard Reference,並根據生成的新StoryBoard 通過代碼來加載對應的StoryBoard 中的ViewController。