iOS故事板我应该使用它们吗?

EGH*_*HDK 10 xcode storyboard ios uistoryboard

我是iOS开发的新手(尚未创建应用程序),但我向我的朋友寻求建议,该应用程序在市场上拥有非常高评价的应用程序.他说不要使用故事板.

尽管我想听取他的意见,但他们似乎真的很有帮助.

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

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

Sim*_*mon 8

我建议不要使用故事板或Interface Builder.

  • 如果您花更多的时间使用它,您将更快地学习Objective-C.在IB和代码之间切换,你需要学习两件事.上下文切换仍然会让你慢下来.
  • Nib和故事板是大型XML文件,它们在源代码控制方面表现不佳; 如果你在与其他人同时工作,你遇到合并冲突.
  • 您无法在IB中看到一下子发生的所有事情,因此很难找到布局问题等内容.
  • 您无法在代码中以IB的方式搜索或替换IB
  • 笔尖和故事板将您的视图逻辑放在控制器中.这对你来说是否有问题取决于你有多少MVC纯粹主义者.
  • 如果你想将你的应用程序移植到Android上,那么IB将会更加困难.

这一切都来自经验.我开始经营一个使用IB开发iOS应用程序的小型软件团队(故事板还没有出来),并且在一年之内它导致了很多问题,我不得不禁止它的使用.当我们停止使用它时,我们的生产力提高了.

  • 这是一个糟糕的建议.在工业界,人们肯定在使用界面构建器.我认为故事板目前在那里更多.如果您没有学习这些技能,您将能够成为一名现代iOS开发人员. (4认同)
  • 如果点5与你说的完全相反.IB将您的所有视图都放在一个地方......视图.通过在代码中执行所有操作,您可以将额外的代码添加到控制器中以设置视图.这些看起来都像是一个不喜欢变化而且从未回过头来的人的意见.是Interface Builder一开始很痛苦,但后来大量改进.我在我的所有应用中使用它. (3认同)
  • 第1点 - 使用Xcode中的选项卡将任务分开,一个代码选项卡,一个用于故事板.第2点 - 与Xcode 5不再相关,是的,它们有点痛苦,但这已得到修复.第3点 - 不确定这是指什么.我看到的东西没有问题,特别是当它们在屏幕上以可视方式绘制时.绝对比解释代码容易得多.第4点 - 是的,您可以,它们是XML文件,您可以轻松地进行搜索和替换,但通过重构您不需要.第5点 - 不,他们没有.第6点 - 我正在编写iOS应用而不是Android. (2认同)

occ*_*lus 8

除了快速原型之外,我倾向于避免使用故事板.如果你知道你有一个非常简单的应用程序,并不会变得复杂,并且你是唯一的开发人员,故事板可能没问题.

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

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

请注意,理论上您需要使用故事板来获取静态表,这可能很有用.要获得此优势,您可以只将静态表放在storyboard文件中(注意:您可以在应用程序中包含多个storyboard文件)并使用xibs或仅使用代码来完成UI的其余部分.


Ant*_*ton 2

非常广泛的问题。有时故事板很棒,有时又很麻烦。取决于您的应用程序的要求和兼容性需求。

请参阅此答案,了解何时使用 Storyboard 以及何时使用 XIB 的详细说明:

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