我在抓取一些可可功能(特别是控制器和代表)方面遇到困难,所以我决定完成一个基本的教程。我找到了“你的第一台Mac应用程序”,并且一直运行良好,直到“Where To Next”阶段。这里有一堆大概基本的东西,我不知道这件事:
>
- “创建一个新的控制器类和移动从应用程序委托管理跟踪和用户界面到这个新班级。“
...什么是创建一个单独的控制器类的地步?我得到了MVC模式,并在过去使用它,我只是无法弄清楚单独的Controller和Delegate的地方。
- “创建笔尖文件中的控制器类的实例,并作出适当的连接,并从它,而不是从应用程序的委托。”
...在此之前这一点上我只是想,我只是创建NSWindowController的一个子类,然后在文件的.xib该窗口应该是这个类的对象申报。现在我很困惑。控制器应该是什么类?应该遵循什么接口(对不起,协议)?如果这只是我指出的一类,那么再一次 - 与我已经有的代表有什么不同?
- “添加从应用程序委托给新的控制器对象。当应用程序已完成启动,则应用程序委托应该将消息发送到所述控制器,以显示窗口的连接”。
...什么信息?我发现的最接近的是的ShowWindow:消息NSWindowController类,但是当我写这篇文章:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[trackController showWindow:self];
}
在AppDelegate中的的applicationDidFinishLaunching方法
,它显示例如消息错误“接收器类型‘TrackController’是一个向前声明”,我只是不明白这是什么意思
更重要的是,为什么我应该发送消息来显示这个窗口,如果这个窗口显示没有任何代码,我创建所有,在一个空白的项目?也许我应该以某种方式关闭此默认行为并自己创建此窗口的实例?