我很想知道是否有人有经验将 iPhone 应用程序的加载时间性能与 NIB 中布局的视图与完全以编程方式布局的视图进行比较(这里有一个类似的问题)。
与在 NIB 中布置的视图相比,完全以编程方式布置的视图真的有任何优势吗?
根据 Apple 的说法,XIB 文件的加载时间比以编程方式构建 UI 的时间长。在 WWDC 讲座中看到了这一点。
如果性能是最重要的,那么在代码中而不是在 IB 中构建您的 UI。
在代码上执行它有一些优点:
带笔尖:
关于性能,您实际上可以检查this。
当我开始学习 iOS 编程时,我是在 xib 文件中构建 UI。但是当我开发了一些项目时,我开始只是编写代码来实现我的 UI。
以编程方式构建 UI 有一些好处:
首先,通过编写代码,您可以清楚地记住视图层次结构,并且视图层次结构对于有效实现 UI 非常重要。
其次,如果您的 UI 很复杂,例如带有一些动画或变换,您将从编写 UI 中受益匪浅。甚至有时候你可能不会使用 UIView 来构建 UI,你可能会使用 CALayer 来完成一些 xib 文件无法构建的效果。
此外,当您习惯以编程方式构建 UI 时,您会喜欢上它,因为您可以只在 .m 文件中编写代码,而无需担心 xib 文件。
但是,如果您只是 iOS 编程的初学者,那么从 xib 文件开始就可以了。
(苹果现在提供StoryBoard,我没学过,你可以学学看看有没有新东西。)
IMO 两者的混合将是正确的选择。使用界面构建器来定义基本布局(即不会随时间发生太大变化的 xib)和视图的默认选项,其余的可以通过编程方式完成(特定的调整和效果)。这应该在一定程度上解决源代码控制和性能问题。
尽管一旦我们开始以编程方式创建视图,我们每次都继续这样做,却没有意识到在 Interface Builder 中可以用更少的努力来完成同样的事情。毕竟,如果它是我们正在构建的 GUI,最好有一个视觉参考。