使用 Xcode 时,遇见不熟悉的代码我们都会习惯性的查看其定义。可是你有没有好奇过,Swift 究竟是如何实现这些定义的?本文,我将以查看 swap 函数的原始代码为例,来阐述我如何查看 Swift 的实现方式。

步骤

1. 什么是 swap 函数?单击 swap 并点按「Option」可以查看其快速定义,其作用是将两个 inout 变量 a 和 b,以 generic T 为类型将变量在原位互换。

.

2. 接下来我们来看 Swift 的具体实现方式。首先跳转到 swap 函数的定义,单击 swap 并选择点按 Command ,选择「Jump to Definition」来查看定义。

.

3. 跳转到的内容和刚刚快速预览没有什么区别,如上图所示,并没有实际内容。注意看上方的跳转栏,记下这个 MutableCollection。

.

4. 打开或下载 GitHub 上托管的[开源 Swift 项目](https://github.com/apple/swift)。

.

5. 在其中 stdlib/public/core 文件夹内找到 MutableCollection 并打开。

.

6. 这时你就可以看到 swap 的实现文件了。

.

注意

若你在步骤 3 跳转栏对应的源文件中中没有找到你要的函数,可以在步骤 2 中查找其 extension 对应的 class/struct/protocol 名,在步骤 5 中查找。

若你好奇 Swift Standard Library 中出现的 Builtin,Swift 的官方文档对此有如下解释。你也可以查看[这篇文章](http://ankit.im/swift/2016/01/12/swift-mysterious-builtin-module/)来了解更多。

.

写在文末

与其在网上寻找部分函数的用法,倒不如直接查看源码来的准确,还可以顺便学习最标准的写法,一举两得。