博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Storyboard使用心得
阅读量:6085 次
发布时间:2019-06-20

本文共 948 字,大约阅读时间需要 3 分钟。

UIStoryBoard的优缺点都非常明显,导致两极分化严重。虽然我在下面吐槽了很多Storyboard的问题,但是依旧非常喜欢Storyboard,建议10人以下的团队果断转向Storyboard。

Storyboard的缺点

1. Storyboard不是万能的,限制很多,导致某些界面必须要加代码实现。这就导致了同一界面实现的分离,如果在IB和代码中同时改变了某个控件,还需要考虑执行顺序。不利于后期维护。

2. 在Storyboard中编辑的界面无法添加注释,也没有其他特殊标记,导致自定义的值和默认值混淆在一起,这非常不利于后期维护,修改时需要一个个比对。希望下次Xcode升级能增加自定义值自动加粗的功能,xcodeproj文件已经有这个功能了。

3. 接上条,因为在版本管理工具中也很难看出修改点,别人某次修改过的东西无从查起,所以还是不适合大团队使用。

4. Storyboard中每个控件和其他任何一个控件混合使用时,最佳实践各不相同,这大大增加了学习成本。而且,苹果每年在Storyboard上都有变动,可能会导致已经实现好的界面需要重新编写。

5. Xcode、Interface Builder经常出现莫名其妙的问题,而且这些问题都是偶现,往往也就出现一次,解决起来费时费力很烦躁。

Storyboard的优点

1. Storyboard的版本管理中的冲突现在已经不是问题,可以很方便的拆分,iOS 9以前有第三方库,iOS 9则自带了Storyboard reference。 

2. 强制分离视图代码和控制器代码,这样即便没有严格的Code Review也能让代码不出现大杂烩,实在是受够了某些项目中view代码、Masonry代码、Controller代码混合在一起的感觉。

3. Xcode 6以后的新特性@IBDesignable和@IBInspectable能够很大程度做到所见即所得,只是非常考验Mac的性能。学习时要有耐心,因为会经常出现上面的缺点5。

4. 如果Storyboard使用熟练,可以少写很多视图代码和胶水代码,能够大大提高编码速度。

转载于:https://juejin.im/post/5a684e5bf265da3e5133471e

你可能感兴趣的文章
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
第六周
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>