main是程序的入口函数
用4.2开发IPHONE程序
int main(int argc, char *argv[]){
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
有天看到一个老版本的IPHONE程序
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
NSAutoreleasePool是和ARC相关的,只要把语法改成@autoreleasepool就可以了
关键是UIApplicationMain(argc, argv, nil, nil);中最后个参数应该是要调用的类名,为空怎么调用啊?后来查询资料才知道,在Info.plist中有Main nib file base name
就是说实际上也指定了启动类,不过是换个地方
本文解析了iPhone程序的入口函数main的两种写法及其差异。一种使用@autoreleasepool简化内存管理,另一种利用NSAutoreleasePool配合ARC。同时介绍了UIApplicationMain函数最后一个参数的作用及Info.plist文件中Main nib file basename配置的重要性。
336

被折叠的 条评论
为什么被折叠?



