// 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.iteye.com/blog/1461354
4、UIApplicationMain函数做了什么-----参考:http://hi.baidu.com/chenchangxin/item/4441b6292d60ed8d9c63d1b9
5、iOS5编程 -- main函数研究-----参考:http://blog.csdn.net/nicktang/article/details/6796932