10

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

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

  • 这是否会在将来给我的应用程序带来问题?
  • 我有什么理由不想使用故事板吗?

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

4

6 回答 6

8

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

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

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

请注意,理论上您需要使用情节提要来获取静态表,这可能很有用。为了获得这个好处,您可以只将静态表放在情节提要文件中(注意:您可以在应用程序中拥有多个情节提要文件)并使用 xibs 或只为 UI 的其余部分编写代码。

于 2013-06-12T15:25:59.987 回答
8

我建议不要使用情节提要或 Interface Builder。

  • 如果你花更多的时间使用它,你会更快地学习 Objective-C。在 IB 和代码之间切换,您将有两件事要学习。上下文切换稍后仍会减慢您的速度。
  • Nib 和故事板是大型 XML 文件,不能很好地与源代码控制配合使用;如果你和其他人同时在做一个,你遇到合并冲突。
  • 您无法在 IB 中立即看到正在发生的所有事情,因此很难追踪诸如布局问题之类的事情。
  • 您无法像在代码中那样在 IB 中搜索或替换
  • 笔尖和故事板将您的视图逻辑放入控制器中。这对您来说是否是个问题取决于您是多少 MVC 纯粹主义者。
  • 如果您想将您的应用程序移植到 Android 或从 Android 移植,IB 将使其变得更加困难。

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

于 2013-06-12T15:10:10.990 回答
4

我不认为这个问题真的可以回答。任何技术决策都有其优点和缺点,这一点也不例外。

优点:

  • 可视化,因此您可以更快地更好地了解您的应用程序的外观
  • 更少的代码
  • 自动布局可以更容易
  • 这不是全有或全无。您可以在 Storyboards 中构建“基础”并在代码中完成它

缺点:

  • XML 文件的大毛球使合并冲突变得非常讨厌
  • 灵活性低于代码(无继承等)
  • 如果您的应用程序中有很多屏幕,那么除非您有很大的屏幕,否则使用单个故事板可能会非常困难!
于 2013-06-12T15:25:19.307 回答
3

我认为使用与否并不重要,最重要的是您的应用程序如何?(质量,美观,快速......)。StoryBoard 非常适合初学者缩短设计时间和理解。但是当成为专业的开发人员时,你会喜欢通过编码来绘制你的界面,因为打字比图形更快。

于 2012-12-15T03:42:01.010 回答
3

它只取决于你。如果您单独开发应用程序,情节提要非常有用。如果您在团队中工作,最好使用 .xibs,因为与故事板相比,将它们与 svn 合并的问题更少

于 2012-12-15T03:43:28.190 回答
2

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

有关何时使用情节提要以及何时使用 XIB 的详细说明,请参阅此答案:

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

于 2012-12-15T03:38:08.713 回答