次にvHelloWorldAppDelegate.mも読んでみる

とりあえず、ヘッダはなんとなく分かったので
次は本命のHelloWorldAppDelegate.mで進めてみます。

ちょっと長いので、まずは先に呼び出される
HelloWorldAppDelegateからやってみます

@implementation HelloWorldAppDelegate

@synthesize window;

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    CGRect screenBounds = [[UIScreen mainScreen] applicationFrame];
    CGRect windowBounds = screenBounds;
    windowBounds.origin.y = 0.0;
	
    self.window = [[UIWindow alloc] initWithFrame: screenBounds];
	
    myMainView = [[MainView alloc] initWithFrame: windowBounds];
	
    [window addSubview:myMainView];
	
    // Override point for customization after application launch
    [window makeKeyAndVisible];
}

- (void)dealloc {
    [myMainView release];
    [window release];
    [super dealloc];
}

@end

まずはimplementationはクラス定義です。
基本的にはこのような書き方になります。

@implementation クラス名
メソッド定義
@end

独自クラスであればヘッダファイルのinterface部分に記載する必要がありますが
今回はDelegateとしてapplicationDidFinishLaunchingとdeallocはオーバライドしているだけなので
宣言する必要はありません。

で、中身で、まずは最初の3行

    CGRect screenBounds = [[UIScreen mainScreen] applicationFrame];
    CGRect windowBounds = screenBounds;
    windowBounds.origin.y = 0.0;

ここで、ステータスバー(1番上の電波状況とか出てる部分)を除く部分を返します。
そして、Windowの右上を0×0に指定しています。

    self.window = [[UIWindow alloc] initWithFrame: screenBounds];
	
    myMainView = [[MainView alloc] initWithFrame: windowBounds];
	
    [window addSubview:myMainView];

ここで親としてwindowを作成して、そこにMainViewをwindowのSubViewとして貼付けています。

- (void)dealloc {
    [myMainView release];
    [window release];
    [super dealloc];
}

これはHelloWorldAppDelegateクラスが解放される時に呼ばれ、
その中で今まで作成したオブジェクトを解放しています。