iOS 纯代码、xib、sb的选择

202 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情

前言

这是一个老生常谈的问题,也是一个因人而异的问题,像猫神以及其他的一些大咖都写过相关的文章,所以,在这里,我也不做一些介绍之类,只是把自己的一些经验和了解做一个总结分享给大家。

storyboard

storyboard 呢,是个好东西,不过建议还是在 单独开发 并且是 中小型项目 的时候使用。
storyboard 好处是所有的控件都可以拖拽到控制器上,并且可以设置好大部分的 autolayout 和大部分的属性,少量不适合的可以在代码中另外一个方法中额外设置。 可以大大的减少代码数量,也方便在不运行的时候展示出修改后样子。
storyboard 的坏处也很明显:

  1. 对于控件的细节把握不足,灵活性不足(比如需要layer的属性,autolayout需要额外的设置等)
  2. 在大型项目中,需要多个 storyboard 配合,且单个 storyboard 不能有太多的控制器,否则就会牵丝扳藤,纠缠不清。(想象一下印度的电线缠绕)
  3. 在多人合作的时候,如果有人点进了 storyboard 则会自动视为对 storyboard进行修改,那就很容易造成冲突,而且在造成冲突之后,也不好修改。

xib

xib 是在 storyboard 之前出现的,也是很多老一辈的人爱用的,storyboard 可以看成是 xib 的集合再加上部分的功能吧。
xib 可以在一些例如 cell 或者一些比较简单的 View 中使用,当然是属于个人建议,好处与坏处都和 storyboard 差不多,也就不做太多的介绍了

纯代码

纯代码是我最喜欢使用的一种方法,主要是由于它灵活,方便,所有的属性都可以通过代码来控制,简单来说,storyboard 和 xib 能做的,纯代码都能做而他们不能做的,纯代码也能做。
纯代码对大型项目、团队开发都很友好,尤其是在版本控制,代码管理方面。唯一的缺点就是繁琐以及代码量大,不过这都不是什么问题。
不过我最喜欢纯代码的方面是所有都能掌控在手中,以及能够使用各种黑科技。同时只有多用代码生成和运用各个控件,才能更好的理解底层以及各种实现。


以上,就是我对它们的理解,同时,在使用的时候,三者不是互斥的,可以互相掺杂着使用,就比如我最喜欢的就是代码掺杂着少量的xib(主要是cell)使用。