0Pricing
Swift Academy icon

Swift Academy

SWIFTMobileIosFrontendBeginner

通过 Swift Academy 学习 Swift,创建强大的 iOS 应用。

🤖 AI 驱动📚 122 门课程👥 10万+ 学习者⭐ 4.9 分
课程概览

Swift:Apple 用于 iOS、macOS 及更多平台的语言

Swift 是 Apple 开发的编译型、静态类型语言,取代了 Objective-C 成为在 iOS、macOS、watchOS 和 tvOS 上构建应用的主要方式。它结合了简洁的语法、强类型安全、值语义和现代并发模型,既适合初学者入门,也足够严谨用于生产环境工程。本课程轨道涵盖完整的 Swift 语言,从基本变量到高级内存管理、结构化并发和 SwiftUI 架构。

你将学到什么

你将学习 Swift 的类型系统,包括可选类型、类型转换和带有 where 子句的泛型。你将掌握闭包、高阶函数和面向协议的编程模式。SwiftUI 从视图、修饰符和状态一直覆盖到使用绑定和环境的数据流、自定义布局、动画和性能优化。实用的 iOS 主题包括使用 URLSession 和 async/await 的网络编程、Core Data 和 SwiftData、推送通知、Keychain 服务、Core Location 和 MapKit,以及使用 Swift Package Manager 发布应用。高级课程涉及 Swift 宏、可组合架构、Combine 操作符和调度器、不安全指针、结果构建器和 DSL,以及用于严格并发的任务组和 Actor。

学习路径

122 门课程从 A1 到 C2 循序渐进。A1 和 A2 基础阶段涵盖变量、常量、控制流、可选类型、集合、枚举和结构体。B1 引入结构体设计模式、类继承、协议组合、SwiftUI 基础、Codable JSON 编码、使用 Result 类型的错误处理,以及 Swift Package Manager。B2 深入讲解函数式编程、属性包装器、Combine 框架、结构化并发、依赖注入、MVVM 和 Coordinator 模式、AVFoundation,以及使用 XCTest 的单元测试。C1 阶段涉及 ARC 和内存管理、高级泛型和不透明类型、Swift 宏、Clean Architecture、使用 Instruments 的性能分析,以及 SwiftUI 的自定义 Layout 协议。课程轨道在 C2 阶段结束,内容包括任务组和 Actor以及严格的 Sendable 并发。

工作原理

每门课程分解为短小精悍的课时,你在内置代码编辑器中完成,每道练习都获得实时反馈。遇到卡壳时,AI 导师随时可用,解释编译器错误或建议地道的 Swift 写法,让你把时间花在写代码上,而不是看文档。

开始学习 →

你的学习方式

🎯
互动课程
实时反馈的动手编程练习
🤖
AI 导师
遇到困难时立即获得 AI 帮助
💻
内置编辑器
直接在浏览器中编写并运行代码
🏆
证书
完成课程后获得证书
课程

122 门课程

Swift Academy 学习路径中的所有课程。

01

Swift简介

A13 节课

Swift 对新程序员十分友好。这是一种具有工业级品质的编程语言,既像脚本语言一样富有表现力,又充满乐趣。 借助 Swift,您可以为智能手机、平板电脑、桌面设备或服务器开发应用程序。Swift 快速、可靠且具有交互性,并具备现代软件语言应有的许多特性。 Swift 是一种用户…

02

Swift 入门:概念与设置

A13 节课PRO

以正确的方式开始学习 Swift:安全优先的设计、通过原生编译实现高性能,以及可读且可扩展的代码。

03

Swift 基础:变量、常量与类型

A14 节课PRO

掌握 Swift 的类型系统、使用 let 声明的常量、使用 var 声明的变量、类型推断,以及每个 Swift 程序都会用到的基本数据类型

04

布尔逻辑与三元运算符

A14 节课PRO

使用布尔值、逻辑运算符和三元条件表达式,表达清晰的条件逻辑。

05

值、类型与可选值 I

A13 节课PRO

学习 Swift 如何处理值和类型:常量与变量的区别、类型推断、字面量和元组。

06

条件语句

A11 节课PRO

在本课中,您将学习编程语言中必不可少的条件概念。

07

函数基础

A13 节课PRO

学习如何在 Swift 中定义和调用函数,包括参数、参数标签、默认值和可变参数。

08

Swift 循环与迭代模式

A24 节课PRO

深入学习 Swift 的循环结构:for-in、while、repeat-while,以及使用范围和 stride 进行高级迭代

09

深入 Swift 函数

A24 节课PRO

超越基础函数,学习参数标签、可变参数、输入输出参数以及返回多个值

10

Swift 可选链与解包

A24 节课PRO

掌握各种可选值解包技术:if let、guard let、空值合并、可选链和强制解包

11

深入理解 Swift 运算符

A24 节课PRO

全面掌握 Swift 的各类运算符,包括算术、比较、逻辑和位运算符,并采用防溢出实践。

12

数值类型与转换

A24 节课PRO

自信地使用 Int、Double、Float 和显式数值转换,同时避免精度损失。

13

使用 as、as? 与 as! 进行类型转换

A24 节课PRO

使用 Swift 的类型转换运算符,在运行时安全地检查和转换类型。

14

字符串插值与格式化

A24 节课PRO

使用插值、格式说明符和自定义插值构建动态格式化字符串。

15

空值合并与默认值

A24 节课PRO

使用空值合并运算符和合理的默认值,为可选值提供安全的备用方案。

16

可选值绑定模式

A24 节课PRO

使用 if let、guard let 和多个绑定,安全且清晰地解包可选值。

17

Swift 数组操作与算法

A24 节课PRO

全面学习 Swift 数组:创建、修改、排序、搜索、切片,以及 map、filter 和 reduce 等函数式操作

18

精通 Swift 字典与集合

A24 节课PRO

有效使用 Swift 的 Dictionary 和 Set 类型:增删改查操作、迭代、集合代数和实际应用场景

19

Switch 语句与模式匹配

A24 节课PRO

使用 Swift 强大的 switch 全面匹配值、范围、元组和绑定。

20

范围、步进与计数

A24 节课PRO

使用范围和步进生成值序列,实现精准且易读的迭代。

21

类型推断与显式注解

A24 节课PRO

平衡 Swift 强大的类型推断与显式注解,兼顾清晰性和正确性。

22

循环控制:break、continue 与标签

A24 节课PRO

使用 break、continue、fallthrough 和带标签的语句,精准控制循环流程。

23

控制流与模式

A23 节课PRO

掌握 Swift 控制流:if/else、switch、循环和模式匹配。

24

Swift guard 语句

A21 节课PRO

在本课程中,我们将学习 guard。guard 是一种会经常使用的表达式,其用法与 if 类似。让我们详细了解 guard 语句。

25

Swift 中的参数

A21 节课PRO

在本课程中,您将学习 Swift 语言中参数的实用特性。

26

Swift 集合

A21 节课PRO

在本课中,您将学习 Swift 中的集合类型,这是最重要的主题之一。

27

Swift 中的元组

A21 节课PRO

元组是一种用于将多个值组合在一起保存的数据类型。以一个函数为例,该函数会冻结某个坐标的纬度和经度信息。在本课程中,您将学习 Swift 中元组的概念

28

集合 I

A23 节课PRO

使用 Swift 集合:数组、字典和集合。学习创建、更新、遍历和可变性。

29

Swift 中的可选类型

A21 节课PRO

用于表示可选变量可能没有值。如果可选类型的变量有值,就会将其解包并使用;否则表示没有值。在本课程中,您将学习 Swift 语言中可选类型的概念。

30

Swift 中的字符串

A21 节课PRO
31

存储属性

A21 节课PRO

属性用于定义对象的特性。要在 Swift 中为对象添加属性,必须将变量或常量定义添加到类型定义中。

32

范围运算符

A21 节课PRO

在本课程中,您将学习 Swift 提供的范围运算符。

33

字符串与 Unicode

A23 节课PRO

使用符合 Unicode 规则的字符串:字素簇、安全索引、子字符串、常用 API 和写时复制行为。

34

断言与前置条件

A21 节课PRO

断言和前置条件是在运行时检查应用程序的过程。在运行任何代码之前,程序会检查特定条件是否满足,这通常通过布尔运算符实现。

35

Swift 中的枚举

A21 节课PRO

在本课中,您将学习枚举。枚举用于创建用户定义的类型。进一步地,通过处理这些用户定义类型的关联数据,您可以编写类型安全性更高的代码。

36

结构体与类 I

A23 节课PRO

了解 Swift 的主要类型: 结构体 (值语义)和 类 (引用语义)。学习属性、观察器、初始化器和反初始化器。

37

字符、Unicode 标量与字素

B14 节课PRO

了解 Swift 如何将文本建模为扩展字素簇,从而正确处理 Unicode。

38

Swift 结构体设计模式

B14 节课PRO

使用 Swift 结构体构建健壮的值类型:自定义初始化器、计算属性、变异方法和复制语义

39

Swift 类继承与多态

B14 节课PRO

理解 Swift 类的继承、方法重写、final、使用 as? 进行类型转换,以及里氏替换原则

40

Swift 枚举模式与状态机

B14 节课PRO

使用 Swift 枚举建模领域逻辑:原始值、关联值、递归枚举和有限状态机

41

Swift 协议组合与遵循

B14 节课PRO

使用协议组合、条件遵循、Self 要求和面向协议的设计来组合行为

42

数组切片与 ArraySlice

B14 节课PRO

使用 ArraySlice 高效处理数组的一部分,同时理解索引语义。

43

可变与不可变方法

B14 节课PRO

理解值类型的修改规则,并在结构体和枚举上编写正确的可变方法。

44

defer 语句与作用域清理

B14 节课PRO

使用 defer 确保作用域退出时执行清理代码,管理资源和回滚操作。

45

深入理解值类型与引用类型

B14 节课PRO

理解何时选择结构体或类、复制语义和身份运算符,并围绕值语义设计 API

46

Result 类型与结构化错误处理

B14 节课PRO

使用 Swift 的 Result 类型显式建模错误,使用 map/flatMap 转换结果,并衔接 async/await

47

SwiftUI 基础:视图、修饰器与状态

B14 节课PRO

构建您的第一个 SwiftUI 视图,理解声明式 UI,使用 @State 管理本地状态,并应用视图修饰器

48

SwiftUI 布局:堆栈、网格与几何

B14 节课PRO

使用 VStack、HStack、ZStack、LazyVGrid、LazyHGrid 和 GeometryReader 掌握 SwiftUI 自适应界面布局

49

Codable:JSON 编码与解码

B14 节课PRO

使用 Codable 协议,将 Swift 类型序列化为 JSON,或从 JSON 反序列化。

50

高阶函数精通

B14 节课PRO

使用 map、filter、reduce、flatMap 和 compactMap,以富有表现力的方式转换集合。

51

深入理解闭包

B14 节课PRO

掌握闭包捕获语义、逃逸闭包、自动闭包和捕获列表。

52

Equatable、Hashable 与 Comparable

B14 节课PRO

让您的类型在集合、字典和有序集合中无缝运行。

53

日期与日历处理

B14 节课PRO

使用 Date、Calendar 和 DateComponents 正确处理日期、时区和日历计算。

54

FileManager 与文件输入输出

B14 节课PRO

使用 FileManager 和 URL 在磁盘上读取、写入并组织文件和目录。

55

NotificationCenter 与观察者模式

B14 节课PRO

使用 NotificationCenter 和现代替代方案,在应用各处广播并观察事件。

56

Swift 闭包

B11 节课PRO

闭包是自包含的代码块。闭包可以作为参数传递给代码,也可以在代码内部使用。让我们一起学习如何在 Swift 中使用闭包。

57

延迟属性与计算属性

B11 节课PRO

在本课程中,您将学习应用程序中经常使用的延迟属性和计算属性。

58

访问控制

B11 节课PRO

在本课程中,您将学习应用程序中经常使用的延迟属性和计算属性。

59

下标

B11 节课PRO

下标是访问集合、列表或目录成员项的快捷方式。使用下标,您可以根据索引设置和获取值,而无需单独的获取方法和设置方法。

60

Swift 中的错误处理

B11 节课PRO

应用程序运行时,可能会因应用程序代码本身(逻辑错误等)或运行环境而产生一些错误。在本课中,您将学习如何使用 Swift 处理错误。

61

可选值 II 与错误处理

B13 节课PRO

通过链式调用和 guard 模式深入学习可选值,并使用 throws、try、do/catch 和 Result 将其与 Swift 错误处理结合起来。

62

闭包与捕获

B13 节课PRO

学习 Swift 闭包:语法、速记参数、尾随闭包、捕获列表,以及逃逸闭包与非逃逸闭包的区别。

63

属性与下标

B14 节课PRO

使用高级属性和下标增强 Swift 类型。学习惰性属性、get/set 计算属性、观察器和下标访问。

64

模块与 SPM 基础

B13 节课PRO

学习 Swift Package Manager(SPM):初始化包、管理模块和布局、构建与测试,以及导入依赖项。

65

协议与扩展

B13 节课PRO

学习 Swift 协议 以定义共享接口,为类型添加 扩展 ,并提供默认实现。涵盖静态要求与实例要求的区别。

66

强大的枚举

B13 节课PRO

Swift 枚举 可以包含原始值或关联值。使用支持模式匹配的 switch ,实现强大的状态建模。

67

结构体与类 II

B13 节课PRO

深入了解 Swift 的值类型和引用类型:学习 成员初始化器 、 可变方法 、继承和访问控制。

68

代码检查与风格

B13 节课PRO

使用 SwiftFormat (自动格式化)和 SwiftLint (静态规则)保持代码库的一致性。学习配置、常见规则和团队工作流。

69

Swift 函数式编程

B24 节课PRO

在 Swift 中应用函数式编程技术:纯函数、高阶函数、函数组合和惰性求值

70

Swift 属性包装器

B24 节课PRO

构建并使用属性包装器来封装属性存储逻辑:@Published、@State、自定义包装器和投影值

71

SwiftUI 数据流:绑定与环境

B24 节课PRO

理解 SwiftUI 的数据流:@Binding、@ObservableObject、@EnvironmentObject,以及单一事实来源原则

72

Combine 框架基础

B24 节课PRO

学习 Apple 的 Combine 响应式框架:发布者、订阅者、运算符、主题,以及与 URLSession 的集成

73

Swift 结构化并发

B24 节课PRO

掌握 Swift 的 async/await、Task、TaskGroup、Actor 模型和结构化并发,编写安全的并发代码

74

面向协议的编程模式

B24 节课PRO

使用协议、默认实现和协议组合,设计灵活且可组合的 API。

75

泛型约束与 where 子句

B24 节课PRO

使用协议和 where 子句约束类型参数,编写精准的泛型代码。

76

Codable:自定义键与策略

B24 节课PRO

使用自定义编码键、编码策略以及手动编码和解码,控制 JSON 映射。

77

KeyPaths 与动态成员查找

B24 节课PRO

使用键路径引用并组合属性访问,构建表现力强的动态 API。

78

惰性序列与惰性求值

B24 节课PRO

延迟执行开销较大的集合操作,并使用惰性序列高效处理大量数据。

79

CustomStringConvertible 与 Mirror

B24 节课PRO

通过反射控制类型的打印方式,并在运行时检查类型。

80

Swift 正则表达式与模式匹配

B24 节课PRO

使用 Swift 现代 Regex 字面量、构建器和匹配 API,解析并验证文本。

81

Swift 中的依赖注入

B24 节课PRO

使用基于构造器、属性和协议的注入解耦组件,并提升可测试性。

82

泛型 I

B23 节课PRO

使用 泛型 构建可复用代码:编写适用于多种数据类型的函数和类型,同时保持静态类型安全。

83

带关联类型的协议

B23 节课PRO

使用协议中的 关联类型 建模关系,构建泛型协议,并理解遵循协议的类型如何选择具体类型。

84

序列与算法

B23 节课PRO

掌握 Swift 的可迭代层次结构: Sequence → Collection → BidirectionalCollection → RandomAccessCollection ,并为每种类型选择合适的算法。

85

运算符与自定义

B23 节课PRO

使用 运算符重载 和自定义 优先级组 创建轻量、可读且类似数学表达式的 API——请适度且清晰地使用。

86

测试与诊断

B22 节课PRO

学习 XCTest 基础:设置测试目标、编写测试用例,并使用测试固定装置( setUp / tearDown )实现可靠的单元测试。

87

高级 SwiftUI:动画与自定义修饰器

B24 节课PRO

使用 withAnimation、matchedGeometryEffect 和 TimelineView 创建流畅动画,并构建自定义 AnimatableModifiers

88

在 SwiftUI 中集成 UIKit

B24 节课PRO

使用 UIViewRepresentable、UIViewControllerRepresentable、协调器模式和托管控制器连接 UIKit 与 SwiftUI

89

Core Data 与 SwiftData

B24 节课PRO

使用 Core Data 和 Apple 的现代 SwiftData 框架持久化数据:建模、增删改查、关系、迁移和 CloudKit 同步

90

使用 URLSession 和 async/await 进行网络编程

B24 节课PRO

在 Swift 中构建健壮的网络层:URLSession 数据任务、async/await API、Codable 解码、错误处理和重试逻辑

91

使用 XCTest 对 Swift 进行单元测试

B24 节课PRO

编写高效的 Swift 单元测试:测试组织、XCTAssert 系列、使用协议进行模拟、异步测试和性能测量

92

Swift 包管理器与模块化

B24 节课PRO

使用 SPM 构建多模块 Swift 应用:Package.swift 目标、本地包、二进制目标和依赖管理

93

AVFoundation:音频与视频

B24 节课PRO

使用 AVFoundation 框架播放、录制和处理音频及视频媒体。

94

Core Location 与 MapKit

B24 节课PRO

访问设备位置,并使用 Core Location 和 MapKit 展示交互式地图。

95

使用 Vapor 在服务器上运行 Swift

B24 节课PRO

使用 Vapor Web 框架,用 Swift 构建类型安全的后端 API。

96

MVVM 与协调器模式

B24 节课PRO

使用 MVVM 表现层模式和基于协调器的导航,组织 iOS 应用。

97

本地化与国际化

B24 节课PRO

使用本地化字符串、复数形式和适应区域设置的格式化,让您的应用面向全球用户。

98

推送通知与后台任务

B24 节课PRO

使用推送通知及时传递更新,并可靠地在后台执行工作。

99

Keychain 服务与应用安全

B24 节课PRO

使用 Keychain 和 Apple 的安全 API 安全存储机密信息并保护用户数据。

100

小组件、应用扩展与 App Intents

B24 节课PRO

通过主屏幕小组件、扩展和 App Intents,让应用功能超越主界面。

101

属性包装器

B23 节课PRO

使用 @propertyWrapper 创建可复用行为:控制 wrappedValue ,通过 projectedValue ( $var )公开额外内容,并通过初始化器进行配置。

102

async/await 基础

B23 节课PRO

使用 async/await 和 结构化并发 编写清晰的异步代码:启动轻量级任务,安全地等待结果,并将生命周期限制在适当的作用域内。

103

互操作与脚本

B23 节课PRO

使用 shebang 编写快速的 Swift 脚本 ,解析 CLI 参数,设置退出代码,并构建简单的命令行工具。

104

分发与持续集成

B23 节课PRO

使用 SwiftPM 和持续集成分发 Swift 项目:选择库包或可执行包,为发布版本添加标签,并可靠地交付构建产物。

105

ARC 与内存管理模式

C14 节课PRO

深入学习自动引用计数:循环引用、weak/unowned、闭包中的捕获列表以及内存泄漏调试

106

内存管理与 ARC

C13 节课PRO

理解 Swift ARC: 强引用 如何让对象保持存活,以及 弱引用 和 无主引用 如何安全地打破循环引用。

107

高级泛型与不透明类型

C14 节课PRO

通过条件遵循、不透明返回类型(some)、存在类型(any)和主要关联类型进一步深入泛型

108

Swift 宏

C14 节课PRO

理解 Swift 5.9 宏:独立表达式宏和声明宏、附加宏,以及使用 SwiftSyntax 编写宏

109

Swift 中的整洁架构

C14 节课PRO

在 Swift 中使用 SOLID 原则实现整洁架构:分离层次、依赖倒置、用例和仓储模式

110

使用 Instruments 进行性能分析

C14 节课PRO

使用 Xcode Instruments 分析 Swift 应用:时间分析器、分配、泄漏、主线程检查器和热点路径优化

111

Sendable 与严格并发

C14 节课PRO

使用 Sendable、隔离和严格并发检查,为 Swift 6 编写无数据竞争的代码。

112

SwiftUI 自定义布局协议

C14 节课PRO

使用 SwiftUI Layout 协议构建超越堆叠和网格的定制布局。

113

SwiftUI 性能优化

C14 节课PRO

诊断并消除 SwiftUI 重绘瓶颈,打造流畅高效的界面。

114

Core Animation 与高级图形

C14 节课PRO

使用 Core Animation 图层、变换和自定义绘制,创建丰富的视觉效果。

115

可组合架构(TCA)

C14 节课PRO

使用 The Composable Architecture,以单向数据流组织 SwiftUI 应用。

116

高级 Combine:运算符与调度器

C14 节课PRO

使用高级 Combine 运算符和调度机制,组合复杂的异步管道。

117

不安全 Swift:指针与内存

C14 节课PRO

在性能需要时,使用不安全指针、缓冲区和 MemoryLayout 直接操作内存。

118

泛型 II:高级约束

C13 节课PRO

深入学习泛型:使用 条件遵循 和 where 子句,让类型仅在其泛型参数满足约束时遵循协议。

119

不透明类型与存在类型

C13 节课PRO

理解 不透明结果类型 ( some P ):在协议背后隐藏具体类型,同时保留静态分派和泛型的正常工作能力。

120

结果构建器与 DSL

C13 节课PRO

使用 @resultBuilder 创建轻量级 DSL :以简洁语法组合嵌套结构,并在后台生成值。

121

并发模式

C13 节课PRO

在 Swift 中应用实用的 并发模式 :生产者/消费者队列、使用 AsyncSequence 的流式处理管道,以及协作式 超时 。

122

任务组与参与者

C23 节课PRO

使用 TaskGroup 安全地运行多个子任务:在结构化并发的保障下创建、等待并收集结果。

常见问题

常见问题解答

Swift Academy 课程免费吗?

免费。你可以免费开始 Swift Academy 课程并完成它的所有互动课程。可选的 PRO 订阅解锁高级 AI 工具和可分享的证书。

学习 SWIFT 需要有先前的经验吗?

不需要。课程从基础开始,逐步进阶到更高难度的主题,所以即使你没有任何 SWIFT 基础也可以开始。

我在 CoddyKit 上怎样学习 SWIFT?

学以致用。简洁的互动课程将清晰的讲解与实时动手编程练习结合,24/7 AI 导师在你遇到困难时提供个性化帮助。

完成 Swift Academy 后能获得证书吗?

可以。PRO 学员可以参加考试,获得 Swift Academy 课程的可分享的完成证书,其中包含可验证的代码。

我能在手机上学习 SWIFT 吗?

可以。CoddyKit 支持网页版和原生 iOS、Android 应用,你可以在任何设备上学习 SWIFT,进度会自动同步。

立即开始 Swift Academy

加入数千名学习者,通过 AI 驱动的课程掌握编程。

免费开始 →浏览所有课程