2011-02-16 44 views
10

所以我開始與可可和ObjC。我試圖按照來自oreilly的正在運行的客觀C /可可書中的示例進行操作。我的applicationDidFinishLaunching似乎沒有被調用。我認爲這是一個問題,我迷上了IB的方式。applicationDidFinishLaunching沒有運行

頁眉:http://pastebin.com/6AdQt1uN

類:http://pastebin.com/VCQWJWkj

IB:http://img265.imageshack.us/img265/4616/screenshot20110216at111.png

有誰看到任何明顯的是,我的外行人看來不?

回答

18

您的Application對象是否已將其代表設置爲您的Application App Delegate對象?在您的IB窗口中右鍵單擊Application,並將delegate插座設爲您的Application App Delegate對象。

+1

這樣做。前往更多的調試:D謝謝(將在2分鐘內接受答案)。 – Realn0whereman

+0

剛剛評論過另一個 - 很高興它的工作!享受學習可可:) – Dominic

2

猜測:您沒有將您定義的applicationDidFinishLaunching對象設置爲您的應用程序的代理。

+0

沒有我這樣做,如引用網點部分的圖片所示?我右鍵單擊窗口,然後將委託出口拖到文檔視圖中的IB類文件中(在IB中)。 – Realn0whereman

+0

這是* Window *,而不是* Application *。他們是兩個不同的對象。請參閱下面的答案 - 您需要在應用程序本身上設置委託。 – Dominic

0

對於那些誰不使用IB,請確保您指定的應用程序委託中的main.m通過以下方式:代替

 return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

 return UIApplicationMain(argc, argv, nil, nil);