HelloWorldAppDelegate.m のソースコードを読んでみる
オリジナルのソースコードは次のような感じ。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#import “HelloWorldAppDelegate.h”
#import “MyViewController.h”
@implementation HelloWorldAppDelegate
@synthesize window;
@synthesize myViewController;
– (void)applicationDidFinishLaunching:(UIApplication *)application {
// Set up the view controller
MyViewController *aViewController = [[MyViewController alloc] initWithNibName:@”HelloWorld” bundle:[NSBundle mainBundle]];
self.myViewController = aViewController;
[aViewController release];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
// Add the view controller’s view as a subview of the window
UIView *controllersView = [myViewController view];
[window addSubview:controllersView];
[window makeKeyAndVisible];
}
– (void)dealloc {
[myViewController release];
[window release];
[super dealloc];
}
@end
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ここから、一行ずつ理解していきます。
ヘッダーファイルの読み込み
———————————————————————-
#import “HelloWorldAppDelegate.h”
#import “MyViewController.h”
クラスの実装を開始
———————————————————————-
@implementation HelloWorldAppDelegate
`@implementation` から `@end` の間に書かれているのはクラスの実装です。
アクセサメソッドの自動生成
———————————————————————-
@synthesize window;
@synthesize myViewController;
メソッドの実装
———————————————————————-
– (void)applicationDidFinishLaunching:(UIApplication *)application {
`applicationDidFinishLaunching` と言うメソッドの実装を開始。
`-`
: インスタンスメソッド ( インスタンスになった時だけ有効なメソッド )
(void)
: 戻り値 ( void なので戻り値ナシ )
applicationDidFinishLaunching
: メソッドの名前 ( 名前からアプリ起動後の処理ではないかと… )
(UIApplication *)
: 引数の型 ( 渡す値の型を書いておく )
application
: 引数の名前
MyViewController *aViewController = [[MyViewController alloc] initWithNibName:@”HelloWorld” bundle:[NSBundle mainBundle]];
この辺りで力尽きました…。スミマセン…。