使用 Storyboard代替传统的 .xib 策略是我仍在努力解决的问题,因为对于采用一些在幕后做了这么多事情而没有真正了解它在做什么以及我真正控制的东西有一些犹豫失去。

BNR iOS Programming Book 强调了使用 Storyboards 的几个“缺点”。我在下面列出了它们,我的问题是: 这些底片在 iOS 6 中仍然有效吗?

  • Storyboard很难在团队中使用
  • Storyboard搞砸了版本控制
  • Storyboard扰乱了编程流程
  • Storyboard为了易用性而牺牲了灵活性和控制性
  • Storyboard总是创建新的 View Controller 实例

  • 我正在寻找那些真正在构建,最好是部署真正的 iOS 应用程序并且在“storyboards vs .xib”问题上挣扎的人的答案。

    谢谢

    最佳答案

    我认为 iOS 6 不能修复任何这些情况。更重要的是,xcode 4.5 没有修复它们,甚至没有尝试这样做。列出的问题似乎反射(reflect)了观点或风格偏好,也许还有一些错误信息。这些不是可以在代码中修复的东西。

    我正在为一个重要的应用程序使用 Storyboard,我发现它们是一个真正的生产力福音。我鼓励你尝试一下,看看你是否同意。

    对问题列表的一些评论:

  • 我不知道团队和SB有任何问题,但如果2是真的
    (它不是)可以解释这种担忧。我认为这是一个
    基于 2.
  • 的误解
  • 不正确。我虔诚地使用 Git,并且经常提交。没问题。在提交期间,SB 以其源代码形式 (XML) 显示。差异完美地工作,实际上提供了一些关于如何实现 SB 的见解。这减少了神秘的“幕后”行为的感觉,这成为熟悉的非问题。
  • 不同意。他们不会扰乱流程,而是提供不同的流程——这就是他们获得力量的地方。许多程序员发现 MVC 规则强加的分离的值(value)。 SB 引入了 UI 元素放置和支持代码之间的分离。这是一个自然的拆分,并消除了大量无意识的代码(这消除了拼写错误的机会,并“整理”了剩余的真实代码)。
  • 部分同意 - 它们确实提高了易用性。但我根本没有发现任何牺牲。即使在使用 SB 时,如果需要,您也可以随时恢复到手动编码任何对象。不会牺牲灵活性或控制力。
  • 不确定这意味着什么,以及为什么它可能是一个问题。当然,我们为不同的场景创建了不同的 VC——这是很自然的。但是当然可以在 SB 中重用 VC 类。此项可能是对如何为 SB 对象设置类的误解。很容易忘记做这一步,有时会让初学者感到困惑。但是改正很简单,设置类很快就变成了习惯。

  • 对我来说,真正的担忧是:
  • 使用 SB 需要大量屏幕空间用于开发。在小显示器上使用 SB 可能会令人沮丧。
  • 具有许多场景的高度复杂的 UI 应拆分为多个 SB。完全支持多个 SB,但很容易失败。 (这就像重构一个变得太大的方法。通常我注意到我需要在某些东西已经变得凌乱之后重构代码。)

  • SB 在布局期间的便利性以及消除了使 VC 对象困惑的大量样板代码是一个巨大的好处。 (我消除的每一行代码都是我不能搞砸的行,以及不能掩盖剩下的真正代码的行。)

    简而言之,我无法想象没有 SB 还能恢复生机。是的,这是一种改变。但我还没有发现任何真正严重的缺点。尤其重要的是要记住,即使在使用 SB 时,所有非 SB 编码技术仍然有效。尝试 SB,并报告您自己的经验。祝你好运!

    关于xcode - 这些对于在开发 iOS 6 应用程序中使用 Storyboards 仍然有效吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12645276/

    10-14 22:40