gpt4 book ai didi

cocoa - 我应该手动创建对象还是使用 InterfaceBuilder 创建对象?

转载 作者:行者123 更新时间:2023-12-03 16:33:39 24 4
gpt4 key购买 nike

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

我所指的对象类型:

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

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

最佳答案

这确实是个人喜好问题。

在我看来,IB 只擅长布局 View ,因此我倾向于只将 IB 用于我的 View 和 View Controller ,并在 View Controller 的 viewDidLoad 或 init 方法中用代码创建其他所有内容。

在您的示例中,将“下载器”对象直接连接到界面似乎违反了 MVC,因此我会将下载器排除在我的 xib 之外。

“界面更新器”将紧密连接到界面,因此它可以位于 Nib 中,尽管除非我有充分的理由不这样做,否则我可能只会将该代码放入我的 View Controller 类中。

如果您在代码中创建内容,请注意 viewDidLoad/viewDidUnload 可能会被多次调用,因为操作系统会在 View 不可见时加载和卸载 View 以节省内存。因此,只将 transient 对象放在那里...... View Controller 生命周期中必须存在的东西应该在 init/dealloc 方法中创建。我喜欢在代码中完成大部分对象创建的部分原因是您对内存拥有更精细的控制。

关于cocoa - 我应该手动创建对象还是使用 InterfaceBuilder 创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com