美文网首页iOS知识收录小斑移动开发技术前沿
[小卓笔记]:使用Storyboard的正确姿势

[小卓笔记]:使用Storyboard的正确姿势

作者: 没故事的卓同学 | 来源:发表于2017-04-25 22:27 被阅读3431次

本文的内容是对这篇文章的阅读总结
原文链接:A Case For Using Storyboards on iOS

显然王巍的这篇文章里的实践经验比本文原作者的观点更加值得认可:再看关于 Storyboard 的一些争论

很多开发者对于在项目中Storyboard是严格禁止的。SB容易引发冲突,文件的可读性差,加载速度可能更慢都是开发者常常提到的缺点。然而我认为这些是在一些使用场景下是可以避免的,SB在项目中依然有适用的地方。

使用SB的好处

直观!

  • 可以直接看到界面的视觉效果
  • 添加AutoLayout时更加符合直觉

在SB中的操作可以马上展示到眼前。使用体验很好,也提高了效率。

如何正确的使用

一个SB中只有一个VC!

这样就减少了冲突的可能,两个开发者同时修改一个VC的概率很低,就算冲突了也只是一个VC较容易解决。

这种方式也为更便捷的从SB中初始化VC提供了一种方式。直接根据类名载入SB中的 initial view controller 就可以了。不需要给每个VC指定标识符。

有很多特性(static TableView)只能在SB中使用,在xib中不支持,都使用了SB后,这些特性也可以在SB中自如的使用。

不要使用segue

segue的跳转非常不灵活,如果都在prepare中处理数据也非常死板。所以不要使用segue跳转。

  func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    usernameToSend = usernames[indexPath.row]
    performSegue(withIdentifier: SegueIdentifier.showUserDetails, sender: nil)
  }

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  ///
}

控件的属性在代码中设置

比如 font 或者 color ,如果直接在 SB 中只能设置一个固定的值,建议还是通过代码使用常量设置,可以方便的控制全局的控件的样式。
如果要通过一些关键字查找属性设置,在代码中也比在SB中更容易被查找到。

技术是死的,人是活的

不要因为某个技术有一些缺点就一棍子打死。并不是有缺点就要全盘放弃。不要给自己这种限制,在合适的场景你依然应该考虑使用这项技术。
原文:

My point is to not disregard a whole technology because you don’t like one aspect of it. You are free to pick and choose which parts you want to use. It’s not all or nothing.

欢迎关注我的微博:@没故事的卓同学

相关文章

网友评论

  • YungFan:一个VC一个SB,那还不如用XIB
  • CoffeeKid:storyboard这些观点倒是没什么冲击性,因为我的看法基本一致。倒是R.Swift这个库好像发现新大陆一样:yum:
  • 上帝是个女孩丶:默默的问博主一句,那我为何不用XIB。XIB才是最轻量级的SB啊。。
  • kQ5Dy9:sb 不适合长页面和复用,我个人认为这个玩意根本就是给ui设计师用的。
  • FR_Zhang:感觉SB在页面的跳转方面不如xib+代码,SB直观带来的弊端就是自定义效果比较差
  • 罗同学_:文章是没写完就发出来了吗。。。
    没故事的卓同学:@罗同学_ 已经完了啊。
  • 果子酱123:初学时候拖着控件感觉贼爽,现在已经不想用这玩意了
    CoffeeKid:你可能需要一个鼠标:joy:
  • angelababa:是否尝试过,一个项目100个storyboard?
    上帝是个女孩丶:@seabrea 时代不同了,配置不一样了
    seabrea:@上帝是个女孩丶 我上个项目,整个项目就是一个VC一个SB的,运行正常。。。。。。
    上帝是个女孩丶:跑都跑不起来
  • 竹菜板:不要使用segue 这段,怎么没说用什么?
    没故事的卓同学:@竹菜板 用代码啊
  • 十一岁的加重:最佳姿势……
  • 学习路上一个远行者:sb绘制的页面不会重复使用。而且页面相对简单得时候,而且日后改动较小的时候,可以考虑,其他的还是需要深重啊,我现在就被自己创建的sb坑着呢:sob::sob::sob:
    学习路上一个远行者:@ChenJZ 嗯嗯,例如我写的用户管理这篇,以前认为页面简单,就几个文本框,用了sb,结果哎哎
    ChenJZ:@学习路上一个远行者 很多页面要重复的么?
  • GloomySunday:一个controller一个sb。感觉不太合适。sb本身还有的好处是可以很清楚的看到页面流程。感觉按照作者这样做反而某种程度上麻烦了

本文标题:[小卓笔记]:使用Storyboard的正确姿势

本文链接:https://www.haomeiwen.com/subject/lvrxrttx.html