Storyboard的强大之处在于,你或许不能精确的知道这个应用是干什么的,但你可以清楚的看到它有哪些屏幕界面,以及这些屏幕界面之间是怎么样关联的。
如果应用中有很多不同的界面,Storyboard可以减少这些用于不同界面之间的来回切换的中间代码,若现有一个应用,Storyboard就可以包含所有控制器的界面设计和他们之间的关系, 而不再需要为每一个控制器分别再创建一个nib文件。
Storyboard和普通的nib相比有很多优点。
借助Storyboard,你可以对你应用中所有的界面和它们之间的联系有一个更好的概念上的总览。 因为所有的设计都在单个文件中,而不是分布成许多nib文件, 可以更加容易的找到任何东西。
Storyboard表明了各个界面之间的切换规则。 这些切换规则叫做“segues”, 按住ctrl键,从一个控制器拖动到另一个就可以创建它们。多亏了segues,能让你用更少的代码来处理UI。
Storyboard让UITableView使用起来更加简单, 它提供了原型单元格(prototype cells)和静态单元格(static cells). 你几乎可以完全在Storyboard编辑器中来设计你的UITableView,大大减少了你的代码量。 并不是所有的事情都那么完美,当然,Storyboard也有一些局限性。
Storyboard编辑器还没有像Interface Builder那么强大,还有少数的一些功能,IB可以实现,但是Storyboard编辑器不能完成。你也需要一个大显示器,特别是在设计iPad应用时。 如果你是那种讨厌使用Interface Builder,只愿意编码实现整个UI的人, 那么Storyboard大概不是为你准备的。
从我个人来说,我更希望代码量越少越好,特别是UI代码,所以这个工具对我来说可是个好东西。 你还可以在iOS 5 和Xcode 4.2中使用nib文件。 虽然我们现在有了Storyboard,使用Interface Builder也不是不可以。 如果你要继续用nib并且一直用下去, 但是你也可以将Storyboard和nib一起使用。 这不是一个必须二选一个问题。