2011-02-16 6 views
10

私はココアとObjCを使い始めています。私はoreillyから上演されている目的のC /ココアの本の例に従おうとしています。私のapplicationDidFinishLaunchingは呼び出されていないようです。私はそれが私がIBですべてを夢中にしたやり方の問題だと思う。applicationDidFinishLaunching not running

ヘッダー: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オブジェクトに設定します。 IBを使用していない人のための

+1

それはそうしました。次のデバッグまで:Dありがとうございます(2分で回答を受け付けます)。 – Realn0whereman

+0

他の人にもちょうどコメントしました - うまくいきました!ココアを学ぶ楽しみ:) – Dominic

2

あなたがアプリケーションのデリゲートとしてapplicationDidFinishLaunchingを定義した場所にオブジェクトを設定しなかったとします。

+0

が、私はそれを行うませんでした参照するアウトレットセクションの図に示すように?ウィンドウを右クリックして、デリゲートアウトレットをドキュメントビュー(IB内)のクラスファイルにドラッグしました。 – Realn0whereman

+0

これは、*アプリケーション*ではなく、*ウィンドウ*用です。それらは2つの異なるオブジェクトです。私の答えは以下を参照してください - あなたはアプリケーション自体に代理人を設定する必要があります。 – Dominic

0

、あなたは次のようにmain.mにアプリのデリゲートを指定してください:

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

の代わり:

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