不使用Interface Builder给我买东西吗?

时间:2009-08-26 13:53:40

标签: cocoa cocoa-touch interface-builder

我对Cocoa很新。我和我的兄弟说话,他把几个iPhone应用程序放在一起,我说了一些关于Interface Builder的东西。他说他不使用它 - 他以编程方式构建他的UI。他说这样,他不必担心加载NIB。我知道使用Interface Builder实际上创建了视图/窗口/按钮/ etc对象的实例,这些对象是序列化的,并且在加载应用程序时必须反序列化,但反序列化是否昂贵?当然,他正在谈论iPhone而我正在使用MacBook Pro进行开发,但仍然如此。

5 个答案:

答案 0 :(得分:9)

由于性能原因,我还没有看到反对使用IB的论点,并且使用了两种方法我都没有看到任何区别。对于更加强烈的应用程序,我通常最终不会使用IB,因为很难用它构建复杂的自定义视图。所以我真的倾向于将IB用于更简单的应用程序,并采用针对更复杂应用程序的编程方法。这种方法显然也是性能优化。

答案 1 :(得分:6)

绝对学习IB!这是值得的,并将为您节省无数长时间的时间。然后尽可能使用它。如果你不能(高复杂性)你总是采用编程方法,但随着你的应用程序的增长和老化,你会发现它更容易维护你的笔尖(IB)。

答案 2 :(得分:2)

如果两种方法都有用,我建议采用Apple的方式;即使用Interface Builder(IB)。您将获得更少的代码编写(更少的代码等于更少的错误,更少的维护,更少的工作;)!),一个更好的抽象项目,您将更加准备好继承来自Apple的未来好东西(记住Cocoa Bindings ... ),很快你也会更有效率。

了解IB为你做的事情(通过你兄弟的方法)也是非常有价值的知识;所以,如果你能在一些项目中做到这两点,那就去做吧。 (正如其他人所说,对于复杂的用户界面,这将允许你有时绕过它。)但最后,我还是建议使用IB。

答案 3 :(得分:2)

尽管Interface Builder是一个古老的软件,其根源在于NeXTSTEP开发,但它仍然是(IMO)创建软件视觉方面的优雅方式。
在这个interview with Aaron Hillegass中,他说“经验丰富的Cocoa程序员将他们应用程序的很多智能放在NIB文件中。因此,他们的项目代码少得多。”
众所周知:"Less source code is better"

答案 4 :(得分:0)

这在很大程度上取决于应用程序的类型。据我所知,具有几百/千页的ERP系统不是使用Interface Builder构建的。