-3

我是使用 Xcode 和 Objective-c 的初学者,我总是面对这个线程,我不知道为什么,也不知道如何解决它

#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char *argv[])
{
   @autoreleasepool {
       return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
   }
}
4

1 回答 1

2

不清楚你在问什么。要解释您发布的代码:

UIApplicationMain是:

[一个从不返回的函数] 从主体类实例化应用程序对象并从给定类实例化委托(如果有)并为应用程序设置委托。它还设置主事件循环,包括应用程序的运行循环,并开始处理事件。如果应用程序的 Info.plist 文件指定要加载的主 nib 文件,通过包含 NSMainNibFile 键和值的有效 nib 文件名,此函数将加载该 nib 文件。

因此,在您的情况下,传递可能已收到的任何命令行参数(操作系统可以将其用于它想要的任何目的 - 只需传递它们),告诉它就像UIApplication曾经编写的所有其他应用程序一样使用它本身并指示在您的项目中,名为的类AppDelegate将是应用程序委托。

自动释放池围绕它,因为您正在进行 UIKit 调用,并且 UIKit 假定自动释放池可用。

一旦该调用启动了应用程序的运行循环并执行了其他基本启动任务,它就可以开始向您的应用程序委托发布适当的消息,例如application:didFinishLaunchingWithOptions:.

于 2013-07-16T20:17:21.997 回答