以编程方式创建视图VS.笔尖

时间:2013-04-23 06:07:10

标签: ios uiview nib

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

对于NIB中的观点,是否确实存在任何以编程方式完成的观点的优势?

4 个答案:

答案 0 :(得分:6)

根据Apple的说法,XIB文件加载时间比编程UI更长。 在WWDC演讲中看到了这一点。

如果性能很重要,请在代码中而不是在IB中构建UI。

答案 1 :(得分:5)

在代码上做一些优点:

  1. 最好与几个人合作。提交到存储库时,更容易解决冲突。
  2. 你依赖于你在代码上看到的内容,而不是nib文件中隐藏的东西(你选择的一些讨厌的选项,而不知道)。你有:所见即所得。
  3. 使用nib:

    1. 我会说开发速度更快。
    2. 对于您的界面的每一个细节都没有“污染”的代码。
    3. 对于那些没有太多经验的人来说,我也会更容易。
    4. 关于效果,您实际上可以检查this

答案 2 :(得分:2)

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

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

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

其次,如果您的UI很复杂,例如,通过一些动画或转换,您将从编码UI中受益匪浅。即使有时您可能不使用UIView来构建UI,您也可以使用CALayer来完成某些效果,而这些效果无法由xib文件构建。

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

但是,如果你只是iOS编程的初学者,那么开始使用xib文件就好了。

(Apple现在提供StoryBoard,我还没有了解它,你可以学习它以查找是否有新的东西。)

答案 3 :(得分:1)

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

虽然我们一旦开始以编程方式创建视图,但我们每次都没有意识到可以在Interface Builder中以更少的工作量完成同样的事情。毕竟,如果它是一个GUI我们正在建立它最好有一个视觉参考。