2011-01-03 2 views
1

xcodeで新しいプロジェクトを作成し、「ビューベースのアプリケーション」を選択すると、デリゲートとビューコントローラのクラステンプレートが自動的に生成されます。ここにDummyAppDelegate.hのスニペットがあります。xcode:デフォルトの「ビューベースのアプリケーション」テンプレートでインスタンス化されるdummyViewControllerはどこですか?

@class dummyViewController; 

@interface dummyAppDelegate : NSObject <UIApplicationDelegate> { 
    UIWindow *window; 
    dummyViewController *viewController; 
} 

私の主な質問は次のとおりです。インスタンス変数はどこでインスタンス化されていますか?私は生成されたファイルの中にこのためのコードは見えないので、自動的にインスタンス化するInterfaceBuilderのいくつかの接続がありますか? @classは、上記のコードではなく、単純な

#include "dummyViewController.h" 

で使用されている理由

秒、あまり質問はすべてのヘルプははるかに、多くのおかげで高く評価されています!

答えて

0

ウィンドウ、ビューコントローラ、アプリケーションデリゲートはすべてMainWindow.xibからロードされます。 NIBファイルに配置するオブジェクトは、NIBファイルがロードされるとインスタンス化されます。また、アプリのInfo.plistにMainWindow.nibを指定することで、Cocoa(実際にはUIApplicationインスタンス)にアプリの起動時に自動的にそのファイルを読み込むように指示します。

@class ...ステートメントは、いわゆる前方宣言です。コンパイル時間を短縮することができるので、良いプログラミング手法と見なされます(インポートが必要なヘッダーファイルが少ないほど、コンパイル手順が速くなります)。

+0

大変ありがとうございます。簡潔な説明は、Ole :) – KomodoDave

関連する問題