// main.m
#import <UIKit/UIKit.h>//UIKitk框架提供一系列的Class(類)來建立和管理iphone OS應用程序的用戶界面( UI )接口、應用程序對象、事件控制、繪圖模型、窗口、視圖和用于控制觸摸屏等的接口
#import "YJYAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {//Cocoa內存管理的黃金定律:如果我使用了new、alloc或copy方法獲得一個對象,則我必須釋放(release)或自動釋放(autorelease)該對象
NSLog(@"main() begin....");
return UIapplicationMain(argc, argv, nil, NSStringFromClass([YJYAppDelegateclass]));
/*
*UIApplicationMain函數,它接收四個參數,并將它們用于初始化應用程序。傳遞給該函數的缺省值并不需要修改,但是它們對于應用程序啟動的作用還是值得解釋一下。
除了傳給main函數的argc和argv之外,該函數還需要兩個字符串參數,用于標識應用程序的首要類(即應用程序對象所屬的類)和應用程序委托類。
如果首要類字符串的值為nil, UIKit就缺省使用UIApplication類;
如果應用程序委托類為nil,UIKit就會將應用程序主nib文件(針對通過Xcode模板創建的應用程序)中的某個對象假定為應用程序的委托對象。
如果您將這些參數設置為非nil值,則在應用程序啟動時,UIApplicationMain函數會創建一個與傳入值相對應的類實例,并將它用于既定的目的。
因此,如果您的應用程序使用了UIApplication類的定制子類(這種做法是不推薦的,但確實是可能的),就需要在第三個參數指定該定制類的類名。
*/
}
}
備注:
1、IOS UIKit框架類之窗口和視圖架構介紹-----參考:http://www.th7.cn/PRogram/IOS/201208/86523.shtml
2、UIKit框架的介紹 -----參考:http://blog.csdn.net/henry_sea/article/details/6710668
3、objective-C 的內存管理之-自動釋放池(autorelease pool)-----參考:http://stephen830.VEvb.com/blog/1461354
4、UIApplicationMain函數做了什么-----參考:http://hi.baidu.com/chenchangxin/item/4441b6292d60ed8d9c63d1b9
5、iOS5編程 -- main函數研究-----參考:http://blog.csdn.net/nicktang/article/details/6796932
新聞熱點
疑難解答