code/xib/storyboard

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zgsxzdl/article/details/53811799

iOS界面开发无非就是这三种方法。演化的过程:
code -> xib -> storyboard
各自优缺点:

code

优点:
- 方便定位问题
- 不用打开xib和storyboard(在Xcode中打开这两个东西,特别比较复杂界面,体验不好)
- 多人协作比较方便,diff和merge清晰明了

缺点:
- 代码比较繁琐,特别是屏幕多元化之后
- 确认效果必须得运行程序才可以看出来

xib

优点:
- 可视化搭建界面,简单方便
- 小的View可以在多个地方复用,比如TableViewCell
- Size Classes 和 Auto Layout可以比较方便使用(写代码的话比较头疼)
- 多人协作尚可,一般一个View/ViewController多人协作次数不多
缺点:
- 只是单个的ViewController,没有办法管理页面之间的转场和关系
- xib较多会导致app启动后占用内存较多,xib会在app启动后全部加载到内存中
- 出现约束警告和冲突比较多的时候比较难定位问题

storyboard

优点:
- 可视化搭建界面,简单方便
- Size Classes 和 Auto Layout可以比较方便使用
- 可以管理页面之间的关系和页面跳转,页面之间逻辑可以清晰的展示
- app启动的时候占用内存小。会先加载用到的页面,后面用到哪个页面才会陆续加载
缺点:
- storyboard计较复杂的话,Xcode打开比较卡。
- 有时修改了一个页面,莫名的会修改其他页面的东西,diff的时候会看到一大片修改
- 多人协作比较麻烦,特别是多个人同时修改一个storyboard
- 出现约束警告和冲突比较多的时候比较难定位问题

总结

不太推荐代码写界面,虽然现在有一些开源库可以用代码比较方便的添加和修改约束,但是可视化搭建界面还是趋势。当然,在某些场合下是有代码编写会比较方便,建议打辅助吧。
可视化界面搭建会越来越简单,越来越方便。会复用的界面建议用xib实现,复用比较方便,而且多人修改可能性比较大。其他的还是建议用storyboard吧,毕竟苹果一直在做优化。
storyboard使用的几个建议:
1. 按业务切割成几个storyboard,这样减少多人协作造成的冲突
2. 把所有的warning解决掉,不然等warning较多的时候,一旦出现问题你想定位,呵呵(多么痛的领悟)
3. 每次提交一定要仔细diff,确认是自己做的修改才提交
4. 各个约束一定要思路清晰,不确定或者没有效果的约束及时去掉

猜你喜欢

转载自blog.csdn.net/zgsxzdl/article/details/53811799
今日推荐