Ios 以编程方式创建视图与nib

Ios 以编程方式创建视图与nib,ios,uiview,nib,Ios,Uiview,Nib,我很想知道是否有人有过将iPhone应用程序的加载时间性能与NIBs中的视图与完全以编程方式设置的视图进行比较的经验(这里是一个类似的例子) 与NIB中的视图相比,完全以编程方式布局的视图真的有什么优势吗?根据苹果公司的说法,XIB文件加载时间比以编程方式构建UI要长。 在WWDC的演讲中看到了这一点 如果性能很重要,那么在代码中而不是在IB中构建UI。在代码中构建UI有一些好处: 最好和几个人一起工作。提交到存储库时更容易解决冲突 您依赖于代码中看到的内容,而不是nib文件中隐藏的内容(您在不

我很想知道是否有人有过将iPhone应用程序的加载时间性能与NIBs中的视图与完全以编程方式设置的视图进行比较的经验(这里是一个类似的例子)


与NIB中的视图相比,完全以编程方式布局的视图真的有什么优势吗?

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


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

在代码中构建UI有一些好处:

  • 最好和几个人一起工作。提交到存储库时更容易解决冲突
  • 您依赖于代码中看到的内容,而不是nib文件中隐藏的内容(您在不知不觉中选择了一些讨厌的选项)。你有:你看到的就是你得到的
  • 使用nib:

  • 我会说它发展得更快
  • 代码没有被界面的每一个细节所“污染”
  • 我也会留下来,这对那些没有太多经验的人来说更容易

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

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

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

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

    其次,如果您的UI很复杂,例如,带有一些动画或变换,那么您将从编写UI代码中受益匪浅。即使有时您可能不使用UIView来构建UI,您也可以使用CALayer来实现某些效果,这是xib文件无法构建的

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

    然而,如果您只是iOS编程的初学者,就可以开始使用xib文件


    (苹果现在提供故事板,我还没有了解它,你可以学习它来发现是否有什么新的东西。)

    我认为两者的结合是正确的选择。使用interface builder定义基本布局(即随时间变化不大的xib)以及视图和其他视图的默认选项可以通过编程方式完成(特定的调整和效果)。这将在一定程度上解决源代码管理和性能问题


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

    除了性能之外,如果您在团队中工作,并且必须通过git合并内容,则通过编程创建的视图更容易处理。最好提供参考链接。我不记得确切是哪一个视频,但我可以查找它。它来自上一次WWDC(2012年)。视图层次结构在界面生成器中也可见。尽管您不能通过代码完成所有工作,但完全忽略IB并不是正确的方法。为什么我想通过代码构建一个完整的视图层次结构,而这可以通过IB轻松完成。实际上,通过代码,我们可以实现使用IB构建的所有内容。这只是关于哪种方法更有效。我喜欢IB当我开始学习iOS编程时,IB真的很容易学习和使用,但当我开发更复杂的UI时,我认为代码可以更高效@RAKESHEARE在代码中确保所有在IB中完成的事情都可以实现。但只需要付出更多的努力(无论您键入的速度有多快)。我想说的是,最有效的方法不会是唯一的IB/唯一的代码方法。这将是两者的结合。我试着把我的想法变成一个答案@菲尼亚斯