Ios Swift应用程序的启动顺序
有人知道swift应用程序的启动顺序吗?。正如我所见,swift应用程序中没有Ios Swift应用程序的启动顺序,ios,swift,Ios,Swift,有人知道swift应用程序的启动顺序吗?。正如我所见,swift应用程序中没有main函数。那么谁对这件事负责呢 // Entry point of a normal iOS app int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
main
函数。那么谁对这件事负责呢
// Entry point of a normal iOS app
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
您的应用程序对象和AppDelegate将在此处创建。但对于swift应用程序,我想知道是谁创建了这些
如果有人知道,分享你的想法。swift手册上说:
在全局范围内编写的代码用作程序的入口点,因此不需要主函数
如果您查看
AppDelegate
有一个标记@UIApplicationMain
,它不在任何范围内并被视为入口点。如果您查看AppDelegate.Swift
类,您会发现@UIApplicationMain
语句写在文件的全局区域。正如@Daniel在他的回答中也提到的那样
现在我试着注释这行代码,看看我得到了什么
在非常简单的语言中,错误是编译器试图搜索主可执行文件的隐式条目/开始,但没有得到
它在AppDelegate中显示@UIApplicationMain
语句。Swift
为Swift程序创建一个隐式入口点
我试着显式地编写main.swift类…它可以工作
我的主菜斯威夫特看起来像
import Foundation
import UIKit
UIApplicationMain(C_ARGC, C_ARGV, NSStringFromClass(UIApplication), NSStringFromClass(AppDelegate))
嗯。。我看到了。但不确定@UIApplicationMain
。没有医生!不需要自动释放池?@CopperCash UIApplicationMain永远不会返回,池中的水永远无法排出。