【问题标题】:Best pratice between storyboard xib/nib pure programming [closed]故事板 xib/nib 纯编程之间的最佳实践 [关闭]
【发布时间】:2025-12-23 04:15:12
【问题描述】:

iOS 编程新手,
我当然是从故事板开始的,然后我读到当多个开发人员在同一个应用程序上工作时它有其局限性,所以我切换到纯代码。但我想 xib / nib 可能是一个很好的折衷方案。
能否给我一个更成熟的观点?

非常感谢你的灯

【问题讨论】:

    标签: ios xcode storyboard xib nib


    【解决方案1】:

    我会投票反对使用情节提要。它们就像通常的眼睛糖果一样,在 WWDC 演示文稿中看起来很漂亮,但在现实生活中它很少做正确的事情......故事板迫使你做出不幸的架构决策(参见:http://doing-it-wrong.mikeweller.com/2013/06/ios-app-architecture-and-tdd-1.html) ,并且随着您的项目的进行,故事板迅速演变成一团可怕的视图控制器和转场,更不用说合并故事板的问题了……去过那里,做到了。用 vim。好痛……

    事实上,我已经在一个项目上工作了 6 个月,开始使用故事板,现在开发到了我会考虑(如果截止日期不会接近)拆分整个东西的地步如果不是纯代码,则进入单个 XIB。

    您应该只在以下情况下使用情节提要:

    • 您正在开发概念验证应用程序/原型
    • 您计划使用不超过 6 个视图控制器
    • 您将使用简单的基于堆栈的导航,并不复杂

    【讨论】:

    • 使用几个故事板怎么样?将所有内容放在一个大文件中是错误的。我总是最终混合了整个视图流的故事板(例如注册步骤)xibs(用于可重用的视图控制器或视图 - 我想放入不同的故事板)和代码(如果某些事情需要高级调整)
    • 故事板与基于 xib 的屏幕相比没有任何缺点和所有优点。如果您觉得每个屏幕需要一个文件,您可以将它们拆分为单个屏幕故事板。仅对于跨多个屏幕的可重用控件 xib 仍然有价值。
    【解决方案2】:

    我仍然建议使用情节提要...如果需要,每个项目可以有多个情节提要,它们确实可以减少创建 UI 所需的时间。另外,如果你擅长 git,在大多数情况下你可以很容易地解决冲突:http://blog.mugunthkumar.com/articles/avoiding-merge-conflicts-with-storyboards/

    至于对 UI 进行编码,有几件事最好用代码来完成……但是以编程方式构建整个 UI 就像在可以使用铲子时尝试用勺子挖一个洞。

    【讨论】:

      【解决方案3】:

      使用故事板可以防止两个或多个开发人员同时处理不同的视图,除非您使用多个故事板。

      使用 .xib 文件,每个视图控制器一个,使一个开发人员可以使用 FirstViewController 及其关联的 .xib 文件,而另一个开发人员可以使用 SecondViewController 及其关联的 .xib。这样一来,不同开发人员所做的工作就不会发生重叠,并且一位开发人员的更改不会抹杀另一位开发人员的更改。

      【讨论】:

      • 我认为纯代码仅用于学习目的?
      • 一些老派程序员更喜欢用代码做所有事情。这是个人喜好的事情。我与其他 2 位开发人员一起开展了一个项目,我们都认为 .xib 文件是可行的方法。
      • 你试过合并 Nib 文件吗?我认为这就是许多大公司使用纯代码解决方案的原因。 Sam Soffes 有一个关于此的博客:blog.teamtreehouse.com/why-i-dont-use-interface-builder