View Controller 和Class之间的关系
Xcode是如何知道Interface Builder 中的View Controller是和ViewController.swift中的ViewController相互关联的呢?
整个事情看起来会很琐碎但是事实上不是。你还记得我们创建Xcode项目时选择的项目模板吗?那是“Single View Application”模板。当我们选择这个项目模板后,Xcode自动在Interface Builder 中创建默认的view controller并且同时生成ViewController.swift 文件。在这个时候,view controller 自动和swift文件中定义的ViewController类关联起来了。
进入storyboard中,选择view controller。在工具区域,选择名称属性查看器你会看到“ViewController”设置为Custom Class(定制类)。这就是Interface Builder中的对象和Swift中的类关联起来的方法。
![](https://i-blog.csdnimg.cn/blog_migrate/b788b12e9f8ac35a097ac7c0609a5b50.webp?x-image-process=image/format,png)
Run按钮的背后
我还想讨论的最后一件事情是Run按钮。当你点击Run按钮,Xcode自动启动仿真器并且运行你的app。当时在这些背后发生了什么?作为一个开发者,你需要对所有细节有所了解。
这整个过程可以分为三段:编译,打包和运行
编译(Compile)你可能认为iOS可以理解Swift代码。事实上,iOS只能读懂机器码。Swift代码是给开发者阅读和书写的。为了让iOS读懂app的源码,我们需要使用一个翻译程序将Swift代码翻译成机器码。这个翻译过程就是“编译”。Xcode中内建了编译器用于编译源代码。
打包(Package) 除了源代码,app通常还包含其他资源文件,比如图片,文本文件,声音文件等等。所有的这些资源文件最后统一打包进入app。我们通常把这个过程称之为“build”过程。
![](https://i-blog.csdnimg.cn/blog_migrate/cda1cb97c62f6b31f624858c5c5e8eef.webp?x-image-process=image/format,png)
运行(RUN) 就是真正运行仿真器并且加载你的app
小结
你现在应该对Hello World app如何工作有了基本的了解。如果是一个没有任何编程经验的初学者,可能不太容易理解我们前面讨论的编程概念。不过没有关系,随着你编写更多的代码和随着后面的章节逐渐开发一个真实的app,你会越来越了解Swift和iOS编程的。