如果我在Xcode中创建一个Objective-C iOS应用程序,则会生成一个名为main.m
的文件。该文件的内容如下所示:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
这就是Objective-C iOS应用程序开始生效的地方。
重要的是,如果我想继承UIApplication
(无论出于何种原因),那么 here 就是我去告诉我的应用程序用于应用程序类的类。同样,如果由于某种原因我想为我的应用使用AppDelegate
以外的类名,我会在此处更改这些信息。
HOWEVER ,如果我在Xcode中创建Swift iOS应用程序,则不会生成此类文件(我已经能够找到)。我在哪里设置这些东西?
答案 0 :(得分:7)
在Swift中,您可以在app委托类中使用@UIApplicationMain
属性,它会自动为您调用UIApplicationMain()
函数。
@UIApplicationMain
class YourAppDelegate: UIResponder, UIApplicationDelegate { ...
还有另一种选择:
如果不使用此属性,请提供带有
main
函数的main.swift文件,该函数调用UIApplicationMain
函数。例如,如果您的应用使用UIApplication
的自定义子类作为其主要类,请调用UIApplicationMain
函数而不是使用此属性。
<强>参考文献:强>