Apple-APP應用程式基本架構
main.m
#import <UIKit/UIKit.h>
#import "MyAppDelegate.h"
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
[pool release];
return retVal;
}
※UIApplicationMain函數為建立新的應用程序提供主入口點,建立新的應用程序實例和委托。
第三、四個參數為指定主應用程序類的名稱與它的委托,若省略第三個參數則預設使用標准的UIApplication。
UIApplicationMain還建立應用程序的事件循環,事件循環在main.m中設定。
應用程序委托
applicationDidFinishLaunching:方法。
當應用程序實例化後,首先被觸發的,啟動時,可以在該方法內建立基本窗口,設定它的內容,並讓它成為應用程序的關鍵回應者
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[self.window initWithFrame:[[UIScreen mainScreen]bounds]];
[self.window makeKeyAndVisible];
return YES;
}
applicationWillTerminate:方法。
可以在將控制權交回SpringBoard之前,用該方法保存、更新資料和關閉文件。
applicationDidReceiveMemoryWarning:方法。
視圖控制器
是控制應用程序如何運作的核心。
通常是在視圖控制器中實現在應用程序如何回應選擇、按下以及觸發感應器等動作。
。loadView、viewDidLoad
。shouldAutorotateToInterfaceOrientation
。viewWillAppear、viewDidAppear
NSBundle類
透過這個類,可以訪問應用程序束中存儲的文件,使用NSBundle可以更輕鬆的定位應用程序的根文件夾,
以及導航到自定的子文件夾 以指向並加載聲音、圖像和資料文件等內置資源。