前言
StoryBoard是iOS開發(fā)中很直觀的開發(fā)工具度液,它可以極大的提高開發(fā)效率卑硫,但是StoryBoard由于能直接描述多個控制器頁面前域,也會引發(fā)一些問題。
當團隊開發(fā)時封孙,StoryBoard中的拖入的控制器過多會導致界面錯綜復(fù)雜迹冤。并且協(xié)同開發(fā)中特別容易出現(xiàn)沖突。如果沖突出現(xiàn)了也會特別難以解決虎忌,各種連線會直接影響問題排查泡徙。
蘋果也意識到了這個問題。在iOS 9 以后引入了一個StoryBoard Reference特性膜蠢。很好的解決了這個問題堪藐。
StoryBoard Reference
如圖:
介紹
StoryBoard Reference就是StoryBoard 引用的意思,它為其他的StoryBoard提供了一個站位的控制器挑围。
使用
它使用很簡單:如圖礁竞,本來是tabbarcontroller --> navigationController --> viewController 這樣的結(jié)構(gòu),但是自控制器多了很亂杉辙,也不易調(diào)試模捂。所以可以將每個自控制模塊單獨抽取出來,創(chuàng)建一個獨立的StoryBoard蜘矢。
操作如下
如圖會將對應(yīng)的模塊轉(zhuǎn)化成一個新的StoryBoard狂男,并在原來部分生成一個StoryBoard Reference。效果非常直觀硼端!
對應(yīng)的就會生成幾個新StoryBoard并淋。對應(yīng)的StoryBoard就是原來每個模塊的單獨部分,這樣不僅看起來更加直觀了珍昨,還消除了很多安全隱患县耽。
至于新的StoryBoard的使用就直接通過StoryBoard來創(chuàng)建對應(yīng)的ViewController來設(shè)置對應(yīng)的UI頁面了。
小結(jié)
- StoryBoard Reference 很方便使用镣典,解決了StoryBoard過于龐大之后不易維護的問題兔毙。
- StoryBoard Reference 是iOS 9 之后的新特性,如果直接使用會導致系統(tǒng)版本在iOS 9 以下的機型無法使用
- StoryBoard Reference 做 iOS 9 以下適配兄春∨彀可以刪除對應(yīng)的StoryBoard Reference,并根據(jù)生成的新StoryBoard 通過代碼來加載對應(yīng)的StoryBoard 中的ViewController赶舆。