4

我很想知道是否有人有经验将 iPhone 应用程序的加载时间性能与 NIB 中布局的视图与完全以编程方式布局的视图进行比较(这里有一个类似的问题)。

与在 NIB 中布置的视图相比,完全以编程方式布置的视图真的有任何优势吗?

4

4 回答 4

6

根据 Apple 的说法,XIB 文件的加载时间比以编程方式构建 UI 的时间长。在 WWDC 讲座中看到了这一点。

如果性能是最重要的,那么在代码中而不是在 IB 中构建您的 UI。

于 2013-04-23T06:15:16.070 回答
4

在代码上执行它有一些优点:

  1. 最好和几个人一起工作。提交到存储库时更容易解决冲突。
  2. 您依赖于您在代码中看到的内容,而不是隐藏在 nib 文件中的内容(您在不知情的情况下选择了一些讨厌的选项)。你拥有:所见即所得。

带笔尖:

  1. 我会说它的开发速度更快。
  2. 代码并没有被关于你的界面的每一个细节都“污染”。
  3. 对于没有太多经验的人来说,我也会留下来更容易。

关于性能,您实际上可以检查this

于 2013-04-23T06:29:58.870 回答
2

当我开始学习 iOS 编程时,我是在 xib 文件中构建 UI。但是当我开发了一些项目时,我开始只是编写代码来实现我的 UI。

以编程方式构建 UI 有一些好处:

首先,通过编写代码,您可以清楚地记住视图层次结构,并且视图层次结构对于有效实现 UI 非常重要。

其次,如果您的 UI 很复杂,例如带有一些动画或变换,您将从编写 UI 中受益匪浅。甚至有时候你可能不会使用 UIView 来构建 UI,你可能会使用 CALayer 来完成一些 xib 文件无法构建的效果。

此外,当您习惯以编程方式构建 UI 时,您会喜欢上它,因为您可以只在 .m 文件中编写代码,而无需担心 xib 文件。

但是,如果您只是 iOS 编程的初学者,那么从 xib 文件开始就可以了。

(苹果现在提供StoryBoard,我没学过,你可以学学看看有没有新东西。)

于 2013-04-23T06:35:31.753 回答
2

IMO 两者的混合将是正确的选择。使用界面构建器来定义基本布局(即不会随时间发生太大变化的 xib)和视图的默认选项,其余的可以通过编程方式完成(特定的调整和效果)。这应该在一定程度上解决源代码控制和性能问题。

尽管一旦我们开始以编程方式创建视图,我们每次都继续这样做,却没有意识到在 Interface Builder 中可以用更少的努力来完成同样的事情。毕竟,如果它是我们正在构建的 GUI,最好有一个视觉参考。

于 2013-04-23T07:01:47.533 回答