Swift Playgrounds 完全指南:从入门到精通
Swift Playgrounds 是苹果官方推出的一个交互式学习环境,它让你可以在 Mac、iPad,甚至是 Vision Pro 上,通过游戏化的方式学习 Swift 编程语言,并实时看到代码的运行结果,它不仅是初学者的最佳入门工具,也是专业开发者进行快速原型验证、算法测试和 UI 演示的利器。

第一部分:初识 Swift Playgrounds
什么是 Swift Playgrounds?
想象一下,你一边写代码,一边能看到代码的“魔法”实时上演,这就是 Swift Playgrounds 的核心魅力。
- 实时反馈: 你输入一行代码,按下运行键,结果立刻显示在屏幕上,这大大缩短了学习周期,让你能快速建立编程直觉。
- 游戏化学习: 内置了大量精心设计的教程(人人都是码农”系列),将编程概念融入到有趣的解谜游戏中。
- 跨平台: 在 Mac、iPad 和 Vision Pro 上均可使用,并且项目可以很好地同步。
- 功能强大: 不仅仅是玩具,它支持创建完整的 App、调用系统框架(如 SwiftUI、Core Graphics、ARKit),甚至可以连接外部硬件(如 Sphero 机器人、Lego Mindstorms)。
如何获取 Swift Playgrounds?
- Mac: 在 Mac App Store 免费下载。
- iPad: 在 App Store 免费下载,iPad 版本特别支持分屏显示和 Apple Pencil 手写代码。
- Vision Pro: 在 App Store 免费下载,提供独特的 3D 代码交互体验。
第二部分:快速入门 - 你的第一个 Playground
我们将以 Mac 版本 为例进行讲解,iPad 版本逻辑类似,只是界面布局和交互方式略有不同。
步骤 1:创建新 Playground
- 打开 Swift Playgrounds 应用。
- 在欢迎界面,点击 “新建”。
- 选择 “Blank” (空白) 模板,然后点击 “Next”。
- 为你的 Playground 起个名字,
MyFirstPlayground,并选择一个位置保存,最后点击 “Create”。
步骤 2:认识界面
创建后,你会看到一个典型的三栏布局:
- 导航器栏: 左侧,用于管理文件、资源(图片、数据等)和项目设置。
- 编辑器栏: 中间,这是你编写代码的地方,代码是分块的,每个代码块都可以独立运行。
- 画布/调试器: 右侧,这是代码运行结果的展示区,它可以显示图形、文本、数据,甚至是实时的摄像头画面。
步骤 3:编写并运行你的第一行代码
在编辑器中,你会看到一个默认的代码块,让我们把它清空,然后输入一些简单的代码。

// 这是一个注释,解释代码的作用
print("Hello, Swift Playgrounds!")
有两种方式运行这段代码:
- 点击运行按钮: 点击代码块左侧的 ▶️ (播放) 按钮。
- 使用快捷键: 按下 ⌘ + Enter (Command + Enter)。
神奇的事情发生了! 右侧的画布上立刻会显示出 "Hello, Swift Playgrounds!" 的输出。
第三部分:核心概念与基础操作
代码块
Playground 的基本单位是 代码块,每个代码块都是一个独立的执行单元。
- 添加代码块: 将鼠标光标放在一个代码块的末尾,按 Enter 键,会创建一个新的代码块。
- 移动代码块: 将鼠标悬停在代码块的左侧边缘,当光标变成 四向箭头 时,按住并拖动,就可以重新排列代码的执行顺序。
- 删除代码块: 选中代码块,按下 Delete 键。
变量与常量
变量是存储数据的容器。

- 常量: 一旦赋值就不能再改变,使用
let关键字。let myName = "Alice" print(myName) // 输出: Alice // myName = "Bob" // 这行代码会报错!
- 变量: 赋值后可以随时修改,使用
var关键字。var score = 0 print(score) // 输出: 0 score = 100 print(score) // 输出: 100
数据类型
Swift 是一种强类型语言,但通常能自动推断类型。
String(字符串): 文本数据,用双引号 包裹。let greeting = "Hello"
Int(整数): 没有小数点的数字。let age = 30
Double/Float(浮点数): 带小数点的数字。Double精度更高。let height = 1.68
Bool(布尔值): 只能是true或false。let isSwiftFun = true
集合类型
- 数组: 有序的值的列表。
var fruits = ["Apple", "Banana", "Cherry"] print(fruits[0]) // 输出: Apple (索引从0开始) fruits.append("Orange") print(fruits) // 输出: ["Apple", "Banana", "Cherry", "Orange"] - 字典: 键值对的集合,通过唯一的键来查找值。
var capitals = ["China": "Beijing", "Japan": "Tokyo"] print(capitals["China"]!) // 输出: Beijing capitals["France"] = "Paris"
控制流
- If-Else 语句: 根据条件执行不同的代码。
let temperature = 25 if temperature > 30 { print("今天很热!") } else if temperature > 20 { print("天气真不错。") } else { print("有点凉。") } - For 循环: 遍历一个序列(如数组)。
let animals = ["🐶", "🐱", "🐭"] for animal in animals { print(animal) } // 输出: // 🐶 // 🐱 // 🐭
第四部分:玩转画布 - 可视化编程
Playgrounds 最强大的功能之一就是将数据以图形化的方式展示出来。
使用 Live View
Live View 是一个专门用于实时渲染图形、动画和 UI 的画布。
- 在编辑器顶部,点击 “Live View” 按钮(一个带有闪电图标的眼睛图标)。
- 右侧的画布将进入实时渲染模式。
案例:绘制一个简单的图形
让我们使用 SwiftUI 框架在 Live View 中绘制一个蓝色的圆形。
- 确保你的 Playground 顶部显示的是 MyPlayground.swift (而不是
Contents.swift),如果不是,点击顶部的文件名切换。 - 在代码中输入以下
SwiftUI代码:
import SwiftUI // 导入SwiftUI框架
// 创建一个视图来展示
struct ContentView: View {
var body: some View {
Circle()
.fill(Color.blue)
.frame(width: 200, height: 200)
}
}
// 在LiveView中预览这个视图
ContentView().previewLayout(.sizeThatFits)
- 切换到 Live View,你会看到一个蓝色的圆形出现在画布上!
第五部分:进阶技巧与资源
分屏与数据视图
- 分屏: 在 iPad 上,你可以将 Playgrounds 分屏显示,一边写代码,一边看 Live View。
- 数据视图: 在 Mac 上,当你调试一个复杂的数据结构(如数组或字典)时,可以点击代码块右侧的 “眼睛”图标,它会以一个清晰的、可折叠的树形结构展示数据内容,非常方便调试。
连接外部硬件
Playgrounds 可以与各种硬件交互,让编程变得触手可及。
- Sphero 机器人: 通过代码控制机器人的移动、变色和闪烁。
- Lego Mindstorms: 驱动乐高机器人完成复杂任务
