我很想知道是否有人将iPhone应用程序的加载时间性能与NIB中显示的视图与完全以编程方式布局的视图进行比较(这里是类似的question)。
对于NIB中的观点,是否确实存在任何以编程方式完成的观点的优势?
答案 0 :(得分:6)
根据Apple的说法,XIB文件加载时间比编程UI更长。 在WWDC演讲中看到了这一点。
如果性能很重要,请在代码中而不是在IB中构建UI。
答案 1 :(得分:5)
在代码上做一些优点:
使用nib:
关于效果,您实际上可以检查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我们正在建立它最好有一个视觉参考。