nib:NeXT Interface Builder的缩写

xib:XML nib的缩写

相同点:

  nib和xib都是Interface Builder的图形界面设计文档。Interface Builder把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在一个nib文档里;当程序运行时,这些对象就会“苏醒”;

不同点:

  nib为二进制文件,xib为纯文本文件,采用xml格式,后者方便于版本控制和diff;

传承:

最开始只有nib,后来将其更名为xib,但是一直沿袭nib这个叫法;

storyboard是同来替代xib的;

storyboard的优势:

1、使用storyboard,一个工程只有一个storyboard文件;当使用xib时,xib在数量上和控制器相对应,即如果工程有多个视图控制器,就会有多个xib文件;

2、storyboard与视图的关系可以在IB设计器中很明显地体现,而xib与视图的关系则需要查看相关代码;

当应用数据量很大、画面很多、关系很复杂的时候,如果使用storyboard,那么在IB设计器中的工作就会变得十分复杂,除此之外,整个工程的性能也会受到影响;

另外团队合作也不方便,因为storyboard的合并会很麻烦;

(这就是为啥看到公司的几乎都是代码实现,而没有使用storyboard)

05-11 20:06