Section 3 : 程式進入點

我們先來看這一個名為 main.m 的檔案
裡面的內容為

#import <UIKit/UIKit.h>


int main(int argc, char *argv[]) {

    

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    int retVal = UIApplicationMain(argc, argv, nil, nil);

    [pool release];

    return retVal;

}


這裡面的內容不需要修改,所以我們不須要花時間看這程式。

要注意一下,在這邊有NSAutoreleasePool這個物件,我們以後在討論到記憶體回收時,再來做說明。


對Programmer 來說,真正要看的是 [專案名稱]AppDelegate

 

- (void)applicationDidFinishLaunching:(UIApplication *)application 

- (void)applicationWillTerminate:(UIApplication *)application 

 

 

這兩個Method 正如名稱所示一個是程式啓動後第一個可由Programmer控制的Method

另一個是程式關閉前將會執行的程式。


先來看啓動方法內寫什麼

 

[window addSubview:[navigationController view]];

[window makeKeyAndVisible];

 

就只有令人摸不著頭緒的兩行程式碼

 

這個時候,可以點選 MainWindow.xib ( Interface Builder 會自動開啓 )

就可以看到在這邊已經使用 Interface Builder 選取 RootViewController 為 Window's View 

並且將這個 view 設定為 navigationController的屬性

所以透過這樣的關連連結起來。

若是想要不透過 Interface Builder 作這樣的操作
可以使用如下的寫法,其中StartViewController為自己寫的ViewController

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

UINavigationController *nav = [[UINavigationController alloc

      initWithRootViewController:

            [[StartViewController alloc] initWithNibName:@"StartViewController" bundle:[NSBundle mainBundle]]

];

[window addSubview:nav.view]; 

 

 

 

posted @ 2009-07-17 08:12  胖胖安  阅读(176)  评论(0)    收藏  举报