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設計器中的工作就會變得龐大而復雜,除此之外整個工程的性能也會 受到一定影響。