如果我在
Xcode中创建一个Objective-C iOS应用程序,则会生成一个名为main.m的文件.该文件的内容如下所示:
的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(无论出于何种原因),那么我可以在这里告诉我的应用程序将哪个类用于应用程序类.同样,如果由于某种原因我想为我的应用程序使用AppDelegate以外的类名,我会在这里更改这些信息.
但是,如果我在Xcode中创建一个Swift iOS应用程序,则不会生成这样的文件(我已经能够找到).我在哪里设置这些东西?
解决方法
在Swift中,您可以在app delegate类上使用@UIApplicationMain属性,它将自动为您调用UIApplicationMain()函数.
@UIApplicationMain class YourAppDelegate: UIResponder,UIApplicationDelegate { ...
还有另一种选择:
If you do not use this attribute,supply a main.swift file with a
main
function that calls theUIApplicationMain
function. For example,if your app uses a custom subclass ofUIApplication
as its principal class,call theUIApplicationMain
function instead of using this attribute.
参考文献:
> The Swift Programming Language: Attributes
> What does “@UIApplicationMain” mean?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。