[英]Launch sequence of Swift app
任何人都知道快速应用程序的启动顺序? 正如我所看到的,快速应用程序中没有main
功能。 那么谁负责这样做
// Entry point of a normal iOS app
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
您的应用程序对象和AppDelegate将在此处创建。 但对于快速的应用程序,我想知道谁在创建这些。
如果有人知道,请分享您的想法。
如果你看一下AppDelegate.Swift
类,你会发现在文件的全局区域写的@UIApplicationMain
语句。 正如@Daniel在他的回答中也提到的那样。
现在我尝试评论该行并编译代码,看看我得到了什么..
在非常简单的语言中,错误说编译器试图搜索implicit entry/start for main executable
,但没有得到。
它显示了AppDelegate.Swift
中的@UIApplicationMain
语句为Swift程序创建了一个隐式入口点。
我试着明确写出main.swift类......它的工作原理。
我的main.swift看起来像..
import Foundation
import UIKit
UIApplicationMain(C_ARGC, C_ARGV, NSStringFromClass(UIApplication), NSStringFromClass(AppDelegate))
快速的书说:
在全局范围编写的代码用作程序的入口点,因此您不需要主函数。
如果你看看你的AppDelegate
有一个标记@UIApplicationMain
,它在任何范围之外并被视为入口点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.