2009-09-13 50 views
6

在閱讀可可教程時,我注意到一些教程使用AppDelegate和一些AppController來定義IBActions,它們打開使用NSWindowController的子類的各種窗口。AppDelegate或AppController

這是否有某種經驗法則?

回答

10

這只是一個類名。 AppDelegate意味着該類的主要職責是作爲NSApplication的委託,而AppController似乎意味着更廣泛的責任範圍。

11

我創建了一個完全是我的應用程序代理的類,並實例化我的主控制器(在applicationWillFinishLaunching:中)並將其釋放(在applicationWillTerminate:中)。然後我有兩個職責明確的類:我的主控制器是主窗口和模型的所有者,而應用程序委託只不過是應用程序委託(並且作爲這些職責的一部分,主控制器的所有者)。

+2

爲了澄清,這是否意味着您將主窗口放在MainMenu單獨的nib文件中? – 2011-03-24 23:36:37

+0

@Stephen:是;主控制器擁有該筆尖及其中的所有內容,通常是一個窗口以及一個或多個陣列和對象控制器。 – 2011-03-25 00:13:08

+0

通過主控制器,你的意思是RootViewController ...對嗎? – 2014-07-26 13:33:55