- 在oc中,大家能很容易的就能够找到main.m文件了,因为我们创建项目的时候,Xcode自动就创建好了main.m文件
- 但是在swift项目中,创建项目的时候却找不到main文件了,这是为什么?
因为我们创建swift项目的时候,Xcode不帮我们创建main文件了,在swift中取消了main文件
- 其实在oc中的main.m文件里,也就是只有一个main函数。这个函数返回了一个UIApplicationMain函数,说明程序的入口就是在UIApplicationMain函数里,因此如果在swift项目中需要用到main函数的时候,我们可以模仿oc的写法,手动创建一个main.swift文件,然后写一个UIApplicationMain函数就好了,这样就相当于跟oc的main.m文件一样效果了
- 当然,在swift中既然取消了main文件,那么肯定也会去执行UIApplicationMain函数的。仔细一找就会发现,swift项目的AppDelegate文件中,在class前面还是有一个@UIApplicationMain的,这就是程序的入口了
- 当我们需要修改程序入口的方式时,创建一个main.swift文件,添加一个UIApplicationMain函数,并且再将AppDelegate中的 @UIApplicationMain 注释掉
UIApplicationMain(CommandLine.argc, UnsafeMutableRawPointer(CommandLine.unsafeArgv).bindMemory(to: UnsafeMutablePointer<Int8>.self,capacity: Int(CommandLine.argc)), nil, NSStringFromClass(AppDelegate.self))
[创建main文件] https://www.jianshu.com/p/b23b79f7a0c3