2011-01-31 53 views
2

我对Cocoa/Xcode比较陌生,不确定我是否以最“正确”的方式构建应用程序。我有许多对象在运行应用程序的同时处于活动状态。我应该手动创建这些对象还是使用Interface Builder?应该手动或使用InterfaceBuilder创建我的对象吗?

类型我指的对象:

  • “下载”,这是负责将文件下载到硬盘
  • 用户界面更新负责更新用户界面,显示的结果下载的文件

我应该在IB中创建这些对象并使用代码设置它们之间的连接吗?

回答

3

这实际上是个人喜好的问题。在我看来,IB只是非常善于布置视图,所以我倾向于只对视图和视图控制器使用IB,并在视图控制器的viewDidLoad或init方法中的代码中创建其他所有内容。

在您的示例中,将“下载器”对象直接连接到界面看起来像是MVC违规,所以我会让下载器不在我的xib中。

“接口更新”将紧密连接到接口,所以它可能在笔尖,但除非我有一个很好的理由不会我可能会把该代码放入我的视图控制器类。

如果要在代码中创建事物,请注意viewDidLoad/viewDidUnload可能会被调用很多次,因为当它们不可见以节省内存时,os加载和卸载视图。因此,只能将瞬态对象放在那里......必须在init/dealloc方法中创建视图控制器生命中必须存在的东西。我喜欢在代码中完成大部分对象创建的部分原因是,您对内存的控制程度更高。

+0

+1提及违反MVC。说实话,我完全忘了这个模型,我应该在将来注意这个模型。 – Nippysaurus 2011-01-31 02:56:31

0

我通常在IB中构建尽可能多的代码,然后在遇到IB的限制时切换到代码。这听起来像你应该能够创建你在界面构建器中描述的UI。

相关问题