iOS開發那些事--nib、xib與故事板的關係
nib、xib與故事板
如果大家使用過蘋果的官方資料,一定會發現某些資料上會提到nib文件,那麼nib與xib是怎樣的一種關係呢?
最初隻有nib文件,後來將其更名為xib,但大家一直沿襲nib這個叫法(即稱xib文件為nib文件),所以目前為止,nib等同於xib。xib文件采用xml格式。
前文已提到故事板是用來替代xib的,那麼兩者除後綴名外,還存在哪些差異呢?
首先,在數量上,使用故事板技術時,一個工程隻有一個故事板文件。當使用xib技術時,xib在數量上與視圖控製器相對應,而一個工程可能會有很多視圖控製器,相應地就會有很多xib文件。
其次,故事板與視圖的關係可以在IB設計器中很明顯地體現,而xib與視圖的關係則需要查看相關代碼或利用其他資源。下麵我們來舉例說明。
我們要做這樣一個應用:兩個不同的畫麵,有兩個標簽分別與其對應,點擊標簽兩個畫麵實現互相切換,該應用采用標簽欄導航模式,設計原型草圖見圖
選擇Tabbed Application模板,分別采用xib和故事板文件實現
可以看到采用xib技術的時候兩個畫麵有兩個xib文件,而采用故事板時候兩個畫麵隻有一個MainStoryboard.storyboard文件
打開MainStoryboard.storyboard文件。
應用包含兩個視圖,兩個視圖存在切換關係,這些信息從上圖中一目了然。事實上故事板是多個xib文件集合的描述文件,也采用xml格式。
需要特別提出的是,雖然蘋果官方主張使用故事板,但最正確的做法是我們要根據具體情況、具體問題對故事板和xib做以取舍,而不是一概而論。當應用數據量很大、畫麵很多、關係很複雜的時候,如果使用storyboad技術,那我們在IB設計器中的工作就會變得龐大而複雜,除此之外整個工程的性能也會受到一定影響。
最後更新:2017-04-04 07:03:42