2013-04-23 67 views
3

我很想知道是否有人比较iPhone应用程序的加载时间性能与NIBs中布置的视图与完全以编程方式布置的视图(这里是类似的question)的任何经验。以编程方式创建视图VS.笔尖

对于NIB中布置的视图,是否完全以编程方式布置的视图真的有什么优势?

+2

除性能外,如果您在团队中工作并且必须通过git合并内容,则以编程方式创建的视图更易于处理。 – Marc 2013-04-23 06:15:32

回答

5

做它的代码有一些优势:

  1. 更好的工作与几个人。提交到存储库时解决冲突更容易。
  2. 您依赖于您在代码中看到的内容,而不是隐藏在nib文件中的某些内容(您选择某些不知道的麻烦选项)。你有:你看到的是你得到的。

随着笔尖:

  1. 我会说这是更快地发展。
  2. 它的代码不是很“污染”每一个关于你的界面的细节。
  3. 我也会保持对没有很多经验的人来说更容易。

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

6

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

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

+3

最好给参考链接。 – Raptor 2013-04-23 06:22:02

+0

如果你有参考WWDC视频,请分享.. – iCoder4777 2013-04-23 06:26:25

+0

我不记得是哪个视频,但我可以找。这是来自上一次WWDC(2012)的挑战。 – 2013-04-23 06:29:14

2

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

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

首先,通过编写代码,你必须清楚你介意视图层次结构,视图层次结构,以有效地实现你的UI也很重要。其次,如果你的UI比较复杂,例如,用一些动画或转换,你将从编码UI中受益颇多。即使有时您可能不会使用UIView来构建UI,您可以使用CALayer来完成某些无法通过xib文件构建的效果。此外,当您习惯以编程方式构建用户界面时,您会喜欢它,因为您只需在.m文件中编写代码并且无需担心xib文件。

但是,如果你只是iOS编程的初学者,可以从xib文件开始。

(苹果公司现在提供故事板,我还没有了解它,你可以了解它找到,如果有任何新的东西。)

+0

视图层次结构在界面构建器中也是可见的。尽管你无法通过代码完成任何事情,但完全忽略IB并不是正确的做法。为什么我想通过代码构建整个视图层次结构,这可以通过IB轻松完成。 – Rakesh 2013-04-23 06:47:29

+0

实际上,通过代码,我们可以实现用IB构建的所有东西。这只是关于哪种方法更有效。当我开始学习iOS编程时,我喜欢IB,IB非常容易学习和使用,但是当我开发更复杂的UI时,我认为代码可以更高效。 @Rakesh – 2013-04-23 07:05:40

+0

当然,在代码中,一切都可以在IB中完成。但只有更多的努力(不管你输入的速度有多快:))。我想说的是最有效的方法不会是唯一的IB /唯一代码方法。这将是两者的结合。我试图把我的想法变成一个答案。 @Phineas – Rakesh 2013-04-23 07:13:40

1

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

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