Iphone 类的实现部分中的void main方法

Iphone 类的实现部分中的void main方法,iphone,objective-c,ios,Iphone,Objective C,Ios,我看到一个类(继承自NSOperation类)像往常一样有.h和.m文件,但是在实现部分有-(void)main方法和NSAutoReleasePool对象,它看起来像是应用程序本身的主方法,为什么在.m文件中应该有一个具有此名称的方法?可能是NSThread或NSOperation子类?他们有自己的main()方法。引用苹果文档 主线程 线程的主入口点例程。 -(d)主要讨论 此方法的默认实现采用目标和 选择器用于初始化接收器并在上调用选择器 指定的目标。如果子类为NSThread,则可以重写

我看到一个类(继承自
NSOperation
类)像往常一样有.h和.m文件,但是在实现部分有
-(void)main
方法和
NSAutoReleasePool
对象,它看起来像是应用程序本身的主方法,为什么在.m文件中应该有一个具有此名称的方法?

可能是NSThread或NSOperation子类?他们有自己的main()方法。

引用苹果文档

主线程

线程的主入口点例程。 -(d)主要讨论

此方法的默认实现采用目标和 选择器用于初始化接收器并在上调用选择器 指定的目标。如果子类为NSThread,则可以重写此 方法,并使用它来实现线程的主体。 如果这样做,则不需要调用super

您不应该直接调用此方法。你应该随时开始 通过调用start方法创建线程。可用性


这就是main在每个线程中的用法,每个线程本身都有一个自动释放池。。希望对您有所帮助。

这只是一个关于
NSOperation
的方法。区别在于:

int main (int argc, const char * argv[])
是一个C函数,它是程序启动的地方

- (void)main;
是类上的objective-C实例方法


它拥有自己的自动释放池的原因是它通常在单独的线程上调用,因此这个新线程需要处理自动释放的对象

我已经更新了上面的问题,那么这是处理这些类的标准方法吗?你能解释一下为什么要在它们里面有一个主要的方法吗?嘿,我回答了你的问题,你改变了问题,把分数给了其他人:-D