2011-06-20 9 views
1

私は現在、単純なテスト用のiPadプログラムの一部として次のコードを実行しています。私はプロパティとして "viewController"を宣言しました。他のすべての例では、私はサブビューが関わっているのを見てきましたが、私はviewControllerを割り当てて初期化する必要がありましたが、ここでうまくいきます。何か案は?目的C、iOS:サブビューでallocまたはinitを呼び出さない

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    // Why does this work without allocating or initializing viewController? 
    [self.window addSubview:viewController.view]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

答えて

2

これはAppleがiOSテンプレートを提供する標準的な定型文のようです。これらのプロジェクトでは、viewControllerはMainWindow NIBで定義されています。このNIBは、アプリケーションを起動するプロセスの非常に早い段階で読み込まれます。 viewControllerは、NIBローディングプロセスで割り当てられ、initWithNibName:bundle:が呼び出されます。 NIBローディングプロセスは、初期化されたオブジェクトを、アプリケーションデリゲートのビューコントローラのIBOutletに接続します。

+0

ありがとうございます!それは確かに何が起こっているのですか? – Michael

関連する問題