


















我們先來看這一個名為 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];
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。