将App Delegate连接到Controller类

时间:2012-03-28 21:10:58

标签: objective-c xcode4

我坚持开发XCode应用程序的这一步:https://developer.apple.com/library/mac/#documentation/General/Conceptual/Mac101/Articles/07_WhereNext.html

我很困惑的是在最初在XCode 4中创建项目时默认创建的AppDelegate类的角色。如果我实现自定义控制器,让我们使用上面的示例链接并将其称为TrackController。我是否将该控制器设为应用代理?看来我读过的任何教程都不是很清楚。

那么,在AppDelegate中,我是否在这里创建一个新的控制器类实例?如果是这样的话,我可以在这里连接插座吗?或者我将文件所有者更改为控制器类?如果是这种情况,那么在XCode 4中如何完成?

我不知道这个问题不是很明确,但我确信有人知道我在说什么。

修改

以下屏幕截图显示了我的意思。蓝色框现在是“Track Controller”。我已经在这种情况下展示了AppDelegate类,但要说清楚。我该用什么,AppDelegate.m或TrackController.m?应该怎么做?

enter image description here

编辑2

回到这一点,我uploaded the code to GitHub here因为我还没弄明白如何把所有事情都搞定。

要重新解释,我需要弄清楚AppDelegate和TrackController如何相互关联和沟通。这些概念对我来说通常是新的,我已经阅读了Apple文档,但它们并没有真正帮助我。我甚至与专家进行了深入的讨论,但我仍然没有看到它应该如何运作。

我的模型是Track,然后我有TrackController,当然还有AppDelegate。 AppDelegate正在实例化TrackController,我希望它能够打开它的窗口。

我做错了什么?希望专家可以帮助我!

1 个答案:

答案 0 :(得分:0)

它描述的是应用程序委托应该专注于处理发送给应用程序的委托调用。

您实际上创建了一个新类作为应用程序的主要控制器,然后添加代码以在应用程序加载完成后调用它。从那以后,那个应用程序(据说)是你的主要控制点(当然,当它“转移”到另一个类时)。

我更熟悉这个过程在iOS上的工作方式,而不是Mac,后者不得不担心Windows,但对于iOS应用程序,你需要添加代码来从ApplicationDidFinishLaunching:WithOptions:中调用你的起始视图控制器。从那里,视图控制器起飞,查看整个过程的最简单方法是从视图控制器开始(这是大多数教程处理它的方式,实际上,让XCode处理应用程序委托创建该视图控制器的事实)。