1个回答
2013-07-15
展开全部
Main函数
在iPhone应用程序里, main函数功能被最小化了。大部分实际工作是在UIApplicationMain 函数中完成的。 当你在Xcode中开始一个新的应用程序项目时,每个项目模版都提供了一个标准main函数实现如同在 “Handling Critical Application Tasks.”里的那个。Main函数只做了三件事: 创建了一个自释放池(autorelease pool),调用UIApplicationMain,然后释放autorelease pool。 除了很少的特例,你不应该修改它。
Listing 1-1 iPhone应用程序的main函数
#import <UIKit/UIKit.h> int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; }
注意: 自释放池用在内存管理中。它是一个Cocoa机制用来延迟在一个函数体内创建的对象的释放。更多信息参见Memory Management Programming Guide for Cocoa。对于和自释放池相关的iPhone应用程序特定的内存管理指南,参见“Allocating Memory Wisely.”
上述列表中的中心部分UIApplicationMain函数采用了4个参数并使用它们来初始化应用程序。尽管你没必要更改传入参数的默认值,还是值得解释一下它们起动应用程序时的用途。除了argc 和 argv 参数外,这个函数采用两个字符串参数来识别基本类(也就是,应用程序对象类)和应用程序代理类。如果这个基本类字符串为空,UIKit使用UIApplication类作为缺省值。 如果应用程序代理类为空,UIKit假设它为从你的应用程序主nib文件加载的对象其中之一(对于使用Xcode模版创建的应用程序)。 设置这些参数任意一个为非空数值将导致UIApplicationMain 函数在应用程序启动时创建一个相应类实例并为声明的目的使用它。这样,如果你的应用程序使用一个自定义的UIApplication子类(不推荐这样,但是当然是可能的),你将在第三个参数中指定你自定义类的名字。
在iPhone应用程序里, main函数功能被最小化了。大部分实际工作是在UIApplicationMain 函数中完成的。 当你在Xcode中开始一个新的应用程序项目时,每个项目模版都提供了一个标准main函数实现如同在 “Handling Critical Application Tasks.”里的那个。Main函数只做了三件事: 创建了一个自释放池(autorelease pool),调用UIApplicationMain,然后释放autorelease pool。 除了很少的特例,你不应该修改它。
Listing 1-1 iPhone应用程序的main函数
#import <UIKit/UIKit.h> int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; }
注意: 自释放池用在内存管理中。它是一个Cocoa机制用来延迟在一个函数体内创建的对象的释放。更多信息参见Memory Management Programming Guide for Cocoa。对于和自释放池相关的iPhone应用程序特定的内存管理指南,参见“Allocating Memory Wisely.”
上述列表中的中心部分UIApplicationMain函数采用了4个参数并使用它们来初始化应用程序。尽管你没必要更改传入参数的默认值,还是值得解释一下它们起动应用程序时的用途。除了argc 和 argv 参数外,这个函数采用两个字符串参数来识别基本类(也就是,应用程序对象类)和应用程序代理类。如果这个基本类字符串为空,UIKit使用UIApplication类作为缺省值。 如果应用程序代理类为空,UIKit假设它为从你的应用程序主nib文件加载的对象其中之一(对于使用Xcode模版创建的应用程序)。 设置这些参数任意一个为非空数值将导致UIApplicationMain 函数在应用程序启动时创建一个相应类实例并为声明的目的使用它。这样,如果你的应用程序使用一个自定义的UIApplication子类(不推荐这样,但是当然是可能的),你将在第三个参数中指定你自定义类的名字。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询