我应该手动创建我的对象还是使用Interface Builder?

时间:2011-01-31 01:43:08

标签: cocoa xcode interface-builder

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

我所指的对象类型:

  • “downloader”负责将文件下载到磁盘
  • 用户界面更新程序,负责更新用户界面以显示下载文件的结果

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

2 个答案:

答案 0 :(得分:3)

这真的是个人偏好的问题。

在我看来,IB只非常擅长布局视图,所以我倾向于只使用IB作为我的视图和我的视图控制器,并且我在视图控制器的viewDidLoad或init方法中创建代码中的所有其他内容。

在您的示例中,将“下载器”对象直接连接到接口似乎是违反MVC的,因此我会将下载器保留在xib之外。

“接口更新程序”将紧密连接到接口,因此它可能位于nib中,但除非我有充分理由不这样做,否则我可能只是将该代码放入我的视图控制器类中。

如果要在代码中创建内容,请注意viewDidLoad / viewDidUnload可能会被多次调用,因为当视图不可见以节省内存时,操作系统会加载和取消加载视图。因此,只将瞬态对象放在那里......应该在init / dealloc方法中创建视图控制器生命周期中必须存在的东西。我喜欢在代码中创建大部分对象的部分原因是你对内存的控制程度更高。

答案 1 :(得分:0)

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