Storyboard是苹果在2011年WWDC中介绍Interface Builder的功能。其基本想法是将原本xib进行升级,引入一个容器管理多个xib文件,并且可以拖拽设置xib之间界面跳转。
优点如下:
1,可以使用Table ViewController的Static Cell功能。对于开发一些cell不多,但每个cell都不一样的列表类设置界面比较方便。
2,通过实现- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender方法,每个ViewController的跳转逻辑都聚集在一起,方便管理界面跳转和传递数据。
3,将一些常用功能模块化和复用。
缺点:
1,和xib一样,容易引起版本冲突。只要打开文件,即使什么也不做,文件也会被更改。
2,Storyboard提供的Static Cell特性只适合于UITableViewController的子类。很多时候把一个TableView嵌套在另一个UIView中,Static Cell就不能用了。
3,如果需要在程序中用代码触发一个segue,那么就需要在另一个回调函数prepareForSegue,用代码方式设目标ViewController的参数信息。
遇到冲突时也不要着急,Storyboard内部其实是XML格式,使用vim一类的文本编辑器将其打开,大多数情况下都恩呢刚读懂冲突原因,处理即可。