storyboard和xib维护过程的一些总结

最近在优化项目,项目中一些storyboard中写的界面,报了一些约束错误,还有的storyboard中场景有10多个,打开起来非常慢。修复问题的同时总结一下思考。

一、关于storyboard/xib还是代码

以前自己采用的是xib来写控件,vc界面采用代码来写。

  • 优点:这样的好处是不用再因为sb中需要修改导致冲突,并且在一个sb中,场景很多的情况下,打开速度慢的情况。控件用xib来写提高了效率。
  • 缺点:无法直观看到页面与页面直接跳转,界面展示。

采用sb+xib方式:

  • 优点:vc中省去了许多界面初始化代码,直观看到页面与页面跳转到哪个页面,写界面速度快很多,不再是重复写一些初始化代码。
  • 缺点:多人维护sb时,修改sb容易产生冲突。sb页面比较多时,开打速度慢。

总结:不管使用纯代码、sb/xib与代码配合还是纯sb+xib,出发点都是要提高效率,便于维护。使用sb时,一个sb尽可能维持在5个vc左右,减少后期维护产生冲突的几率,也提高打开sb的速度。复杂动态的布局方式建议使用代码的方式,避免因为动态约束产生冲突。代码的方式,尽可能将控件分离到单独一个view文件中。如果只是一个简单的button在vc上,相关初始化代码可以在集中写在getter上。

二、调试界面Tips

在修改调试界面时,有时经常找不到界面在哪个文件。或者说想定位一个按钮在哪里文件代码里。

  • 如果是界面中有自定义控件,通过视图层级可以看出类名。
  • 如果界面只是简单只用UIButton,而想修改这个button实例,通过viewcontroller层级先定位到vc。可以使用lldb打印出当前控制viewcontroller层级,当定位到vc时,再去寻找相关代码就比较容易了。可以使用chisel插件,这样lldb中pvc命令就可以打印出。chisel还有其他简化命令,提高工作效率。

三、参考文章:

https://onevcat.com/2013/12/code-vs-xib-vs-storyboard/
http://www.cocoachina.com/ios/20160714/17035.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容