iOS Storyboards我应该使用它们吗?

我是iOS开发的新手(没有创build任何应用程序),但是我要求我的朋友提供市场上评价很高的应用程序的build议。 他说不要使用故事板。

尽pipe我想听取他的build议,但他们似乎真的很有帮助。

  • 这是否会在未来导致我的应用程序出现问题?
  • 我有什么理由不想使用故事板?

来自Android的背景,我不明白为什么我应该使用它们。

除了快速原型以外,我倾向于避免使用任何故事板。 如果你知道你有一个非常简单的应用程序不会变得复杂,你是唯一的开发者,故事板可能是好的。

以下是一些博客文章,详细介绍了使用故事板时的一些难点:

以上两点都有点过时,但我相信有关的观点仍然适用。

请注意,理论上你需要使用一个故事板来获得静态表格,这可能是有用的。 为了得到这个好处,你可以只将静态表格放在故事板文件中(注意:你可以在一个应用程序中有多个故事板文件),并使用xibs或只是为其余的UI编写代码。

我build议不要使用故事板或界面生成器。

  • 如果您花费更多时间使用Objective-C,则可以更快地学习Objective-C。 在IB和代码之间切换,你需要学习两件事情。 上下文切换仍然会减慢你以后的速度。
  • 笔尖和故事板是很大的XML文件,与源代码控制不兼容。 如果您正在与其他人同时工作, 则会发生合并冲突。
  • 在IB中看不到所有事情,所以很难追踪布局问题。
  • 您无法在代码中search或replaceIB
  • 笔尖和故事板将您的视图逻辑放在您的控制器中。 这对你来说是否有问题取决于你有多lessMVC纯粹主义者。
  • 如果你想把你的应用程序移植到Android上,IB将会变得更加困难。

这一切都来自经验。 我开始运行一个使用IB开发iOS应用程序的小软件团队(故事板还没有出来),一年之内就引起了很多问题,我不得不禁止它的使用。 当我们停止使用时,我们的生产力进一步上升。

我不认为这个问题真的是可以回答的。 任何技术决定都有利弊,这一点也不例外。

优点:

  • 视觉,所以你更好地了解你的应用程序将看起来更快
  • 代码less
  • Autolayout 可以更容易
  • 这不是全部或者全无。 您可以在故事板中构build“基础”,并在代码中完成

缺点:

  • 一个XML文件的大毛球使合并冲突非常讨厌
  • 比代码更灵活(没有inheritance等)
  • 如果你的应用中有很多屏幕,使用单个故事板会变得非常困难,除非你有一个巨大的屏幕!

我认为使用它不重要,最重要的是你的应用程序是怎么样的(质量,美观,快速…)。 StoryBoard非常适合初学者缩短devise时间和理解。 但是,当成为专业开发人员时,您将很乐意通过编码来绘制界面,因为打字速度比graphics快。

这只取决于你。 如果你单独开发你的应用程序,故事板是非常有用的。 如果你在一个团队中工作,最好使用.xibs,因为与故事板相比,合并svn的问题更less

非常广泛的问题。 有时候,故事板是伟大的,其他时候,他们是一个麻烦。 取决于您的应用程序的要求和兼容性需求。

看到这个答案是什么时候使用故事板以及何时使用XIBs的一个很好的解释:

何时使用Storyboard以及何时使用XIB