AppDelegate 或 AppController
Posted
技术标签:
【中文标题】AppDelegate 或 AppController【英文标题】:AppDelegate or AppController 【发布时间】:2010-11-27 21:00:43 【问题描述】:在阅读 cocoa 教程时,我注意到一些教程使用 AppDelegate
和一些 AppController
来定义 IBActions
以打开使用 NSWindowController
子类的各种窗口。
这有什么经验法则吗?
【问题讨论】:
【参考方案1】:我创建了一个完全是我的应用程序委托的类,并实例化我的主控制器(在 applicationWillFinishLaunching:
中)并释放它(在 applicationWillTerminate:
中)。然后我有两个职责明确的类:我的主控制器是主窗口和模型的所有者,而应用程序委托只不过是应用程序委托(并且,作为这些职责的一部分,主控制器的所有者)。
【讨论】:
澄清一下,这是否意味着您将主窗口与 MainMenu 放在一个单独的 nib 文件中? @Stephen:是的;主控制器拥有该 nib 及其中的所有内容,通常是一个窗口和一个或多个数组和对象控制器。 主控制器是指RootViewController...对吧?【参考方案2】:这只是一个类名。 AppDelegate 暗示该类的主要职责是作为 NSApplication 的委托,而 AppController 似乎暗示了更广泛的责任。
【讨论】:
以上是关于AppDelegate 或 AppController的主要内容,如果未能解决你的问题,请参考以下文章
@interface 处的 appdelegate 错误:“预期标识符或 ”和“解析问题:缺少 @end”
在AppDelegate 或其它地方用UITabBarController怎么办
在哪里存储持久容器(或任何全局对象)? AppDelegate 还是场景委托?
什么类型的代码正确:AppDelegate 中的 addSubview 或直接控制器分配?
从 iOS 框架引用 UIApplication 或 AppDelegate 窗口属性会导致应用被 App Store 拒绝吗?