美文网首页swift 学习记录iOS原理/面试
Swift找不到main文件,程序的入口去哪了

Swift找不到main文件,程序的入口去哪了

作者: coming_168 | 来源:发表于2019-03-29 14:30 被阅读0次
  • 在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))
image.png

[创建main文件] https://www.jianshu.com/p/b23b79f7a0c3

相关文章

  • Swift找不到main文件,程序的入口去哪了

    在oc中,大家能很容易的就能够找到main.m文件了,因为我们创建项目的时候,Xcode自动就创建好了main.m...

  • 从OC到Swift (一)

    oc的入口:main.m文件中 swift的入口:AppDelegate.swift文件中顶部@main标记,表示...

  • Swift 和 OC 对比

    基本格式 在 Swift 中没有了 main.m,@UIApplicationMain 是程序入口 在 Swift...

  • Beego Main

    入口文件 Beego项目的入口文件为main.go,入口文件内具有个main()主入口函数。 导入包 Go程序执行...

  • Swift-基础语法

    swift文件 注意点 无需main函数,Swift将全局范围内的首句可执行代码作为程序入口 一句代码尾部可以省略...

  • Hello World 与 常变量

    #include //声明 导入 stdio 这个文件 int main() // main 函数 程序的入口...

  • Swift和OC的异同

    1.OC的程序的入口是main;swift的程序入口是@UIApplicationMain 2.OC的类是有.h和...

  • Springboot+mybatis-plus+MySQL实现登

    Springboot的三个基础文件: src/main/java:程序开发及程序入口 src/main/resou...

  • swift基础

    一.项目结构 1.项目中没有main函数入口2.程序入口为AppDelegate.swift中的@UIApplic...

  • [Swift5.1] 1.1-基本数据类型

    Swift开源库 print 函数 不用编写main函数, Swift将全局范围内的首句可执行代码作为程序入口. ...

网友评论

    本文标题:Swift找不到main文件,程序的入口去哪了

    本文链接:https://www.haomeiwen.com/subject/hfclbqtx.html