首先建立一個IOS 的應用工程,主要講解一下的檔案組成: main.m XXXXDelegete.h\.m MainWindow.xib info.plist 檔案 IOS 應用程式由UIKit 封裝,
IOS 應用程式由uikit 封裝,一個Application 應用main函數標準實現:
int main()
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal
}
其中NSAutorelaeasePool 做記憶體自動釋放,autorelease 暫緩釋放操作
核心為UIApplicationMain() 函數 UIKit 封裝初始化工作,裝載應用程式的使用者介面和開始事件迴圈 ,它第3 第4 參數接收NSString * 型別參數,用來指定類名
第3個參數指定,UIApplication 類,如果首要類字串的值為nil UIKit 就預設使用UIApplication類,如果不為空白,應用程式就指定的UIApplication類的定製子類,
第4個參數指定,AppDelegate ,如果應用程式委託類為nil ,UIKit 就會將應用程式主nib 檔,(針對通過Xcode 模版建立的應用程式)中的某個對象假定為應用程式的委派物件
UIApplication 和Appdelagate
UIApplication 是App 應用程式的核心,他/她負責事件的處理邏輯,把應用程式相關的比如:觸屏處理這些事件分發對應的FirstResponder , 把相關操作通過AppDelegate 向下通知出來,UIApplication 是任何應用程式適用的處理核心,它通過AppDelegate 讓不同的程式產生不同的動作 行為
主nib 檔
預設是MainWindow.xib,由*info.plist中NSMainNibFile指定。如果應用程式的資訊屬性列表(Info.plist)檔案中含有NSMainNibFile鍵,則作為初始化過程的一個部分,UIApplication對象會裝載該鍵指定的nib檔案。主nib檔案是唯一一個自動裝載的nib檔案,其它的nib檔案可以在稍後根據需要進行裝載。
iPhone應用程式的主nib檔案通常包含一個視窗對象和一個應用程式委派物件,還可能包含一個或多個管理視窗的其它重要對象。裝載一個nib檔案會使該檔案中的對象被重新構造,從而將每個對象的磁碟表示轉化為應用程式可以操作的記憶體對象。從nib檔案中裝載的對象和通過編程方式建立的對象之間沒有區別。然而,對於使用者介面而言,以圖形的方式(使用Interface Builder程式)建立與使用者介面相關聯的對象並將它們儲存在nib檔案中通常比以編程的方式進行建立更加方便。