学 Swift: 编程课程 应用图标

学 Swift: 编程课程

教育 · 免费 · iOS & Android · CoddyKit

学 Swift: 编程课程 — 从第一个 let 到 SwiftUI 与并发,学习 Swift 编程

学 Swift: 编程课程 是一门面向初学者和有志成为 iOS 开发者的免费 iOS 和 Android Swift 编程课程,让你可以在手机上进行 Swift 编程:在内置编辑器中编辑并运行代码,在 Playground 中实时预览 SwiftUI 视图,并完成 122 门课程,从变量一路学习到协议、泛型、SwiftUI 和 async/await。

App Store — 免费下载Google Play — 免费下载
价格
免费,可升级 Pro
平台
iOS 和 Android
语言
22
年龄分级
4+
需要
iOS 15.1 或更高版本
App Store
4.5 ★ (12)
Swift Academy 主屏幕,显示一张正在进行中的学习路径卡片和每日目标技能中心,包含课程课时、AI 生成、练习场、AI 导师、挑战和课时生成器入口
122课程,A1 至 C2
预览SwiftUI Playground
云端Swift 编译器和编辑器
普通 Swift 代码在云端运行,SwiftUI 视图则在手机上渲染。

编辑器会将命令行 Swift 代码发送到服务器上的编译器,因此运行程序需要互联网连接;出现编译器错误时,点击错误即可跳转到对应行,并阅读通俗易懂的解释。屏幕界面则有所不同:SwiftUI Playground 会直接在设备上渲染堆栈、文本、按钮、图像、列表和 @State,并报告它不支持的语法及其行号。

这是什么

学 Swift: 编程课程 是一门适用于 iOS 和 Android 的 Swift 编程课程,包含 122 门课程和 409 个简短课程,难度从初学者(A1)到高级(C2)逐步提升。课程从 let 和 var 开始,继续学习可选值、协议、泛型、SwiftUI、Core Data 和 SwiftData,以及结构化并发;每节课都配有代码编辑器、云端 Swift 编译器和用于实时预览的 SwiftUI Playground,让学习者无需打开 Xcode 也能练习。

应用内

界面展示

Swift Academy 主屏幕,显示一张正在进行中的学习路径卡片和每日目标
学习路径主屏幕显示 Swift Academy 学习路径,并提供 Resume 按钮、学习进度和每日目标。
技能中心,包含课程课时、AI 生成、练习场、AI 导师、挑战和课时生成器入口
技能中心技能中心将课程课时、练习场、AI 导师、挑战、AI 生成和课时生成器集中在一处。
Swift 课时,通过使用 let 和 var 的示例代码讲解类型推断,并配有运行按钮
带代码的课时课时内容位于可编辑代码上方,代码使用 let 和 var,并配有笔记、语言和运行控件。
包含 Swift 阶乘函数和 AI 工具按钮的代码编辑器
代码编辑器编辑器中有一个递归阶乘函数,顶部还提供代码库、生成代码和 AI 增强按钮。
带有 Swift 推荐提示的 AI 聊天界面
AI 聊天AI 聊天会建议你从哪里开始:解释关键概念、提供技巧、考考我,或制定学习路线图。

课程

Swift 课程涵盖哪些内容

根据应用课程列表整理的 122 门课程和 409 个课时,按学习路径中的教学顺序排列。

  1. Swift 基础:变量、常量和类型

    介绍 Swift、环境设置、变量和常量、类型、布尔逻辑与三元运算符,然后学习第一个函数和条件语句。

  2. 可选值、控制流和集合

    可选值绑定与链式调用、空值合并、switch 和模式匹配、循环与范围,以及数组、字典和集合。

  3. 结构体、类、枚举和协议

    结构体设计、类继承与多态、作为状态机使用的枚举、协议遵循与组合,以及值类型和引用类型的对比。

  4. 闭包、泛型和函数式 Swift

    闭包与捕获、高阶函数、属性包装器、使用 where 子句的泛型约束,以及 Swift 中的函数式编程。

  5. SwiftUI:视图、布局、数据流和动画

    视图、修饰器和状态,堆栈与网格,绑定与环境,动画和自定义修饰器,以及自定义布局协议。

  6. 并发:async/await、Combine、Actors

    async/await 基础、结构化并发、任务组和 Actors、Sendable 与严格并发,以及 Combine 框架。

  7. 数据和 iOS 框架

    Codable、Core Data 和 SwiftData,使用 URLSession 进行网络通信,Core Location 和 MapKit,推送通知、Keychain 服务、Widget 和应用扩展。

  8. 架构、测试和发布

    MVVM 和协调器、依赖注入、整洁架构和 TCA、XCTest、使用 Instruments 进行性能分析、Swift Package Manager,以及分发与 CI。

工作原理

Swift 学习流程

短小的课程、同一应用中的编辑器,以及编译器与你意见不一致时随手可查的解释。

  1. 阅读课程,然后编辑示例

    每节课用几分钟讲解一个概念,并提供可供你修改的代码。你的修改可以保存,并可从课程中再次找到。

  2. 运行代码,或进行预览

    在云端编译器上运行命令行 Swift,这需要网络连接。要查看屏幕界面,请打开 SwiftUI Playground,查看手机上绘制出的视图。如果出现问题,点击错误即可跳转到对应行,并阅读通俗易懂的修复说明。

  3. 通过回忆练习和任务巩固所学

    你答错的问题会变成 Swift Recall 中的闪卡,并按照间隔重复计划再次出现。编程任务、引导式项目和每日面试题则让你获得课程之外的更多练习。

包含内容

应用提供的内容

122

课程,A1 至 C2

409 节课程,涵盖基础知识、可选值、集合、结构体、类、枚举、协议、闭包、泛型、错误处理、Codable 和 Swift Package Manager。

预览

SwiftUI Playground

编写一个视图,并在手机上查看渲染结果。支持堆栈、文本、按钮、图像、列表和 @State;任何不受支持的内容都会通过行号报告出来。

云端

Swift 编译器和编辑器

代码编辑器包含示例库,并运行在云端的 Swift 编译器上。编译器错误可以点击查看,并附有简短的修复说明。

60

编程任务

60 个难度从易到难的任务,以及 20 个引导式项目和 6 个多步骤跟做项目。

77

速查表和回忆练习

包含 77 个条目的速查表,方便查找语法;还有 Swift Recall,你答错的问题会按照间隔重复计划变成闪卡。

50

iOS 面试准备

50 道用于开发者求职准备的 Swift 面试题、每日面试题,以及 50 道会解释每个答案的测验题。

背景

学习 Swift 编程需要哪些知识?手机又能发挥什么作用?

Swift 是 Apple 为 iPhone、iPad、Mac、Apple Watch 和 Apple Vision Pro 开发应用所使用的语言,也用于服务器端。它的设计注重可读性,并能尽早发现错误,因此许多人会选择它作为第一门编程语言。手机无法取代 Xcode 来构建和发布应用,但可以帮助你完成决定自己能否读懂他人 Swift 代码的部分:理解语言本身,并在真实项目中接触它们之前,尝试编写小程序和 SwiftUI 视图。

可选值定义 Swift 的核心概念

Swift 中的值可能不存在,而类型系统会要求你明确说明这一点:可选值要么包含一个值,要么为空;你可以通过可选绑定、guard、可选链或空值合并提供的默认值来解包。刚开始的一周可能会觉得繁琐,但之后它能避免一整类崩溃问题。

值类型与引用类型结构体与类的对比

结构体和枚举在传递时会被复制,而类则通过引用共享。选择哪一种会影响应用的两部分同时操作数据时数据的行为,而 Swift 的标准库更倾向于使用值类型。

SwiftUI声明屏幕界面,让框架负责绘制

SwiftUI 将界面描述为由许多小型视图组成的树,视图的外观由状态决定。修饰器可以调整每个视图,而 @State 这样的属性包装器会告诉框架何时重新绘制。它取代了许多过去使用 UIKit 构建屏幕界面的方式。

结构化并发无需回调金字塔的异步工作

async 和 await 可以让代码等待网络调用,同时不会阻塞界面;任务组和 actor 则用于组织同时发生的工作。Sendable 检查可帮助编译器证明共享数据得到了安全处理。

是否适合

适合哪些人——不适合哪些人

如果你符合以下情况,就很适合

  • 编程新手,因为将来想制作 iPhone 应用而选择了 Swift
  • 编写 Web 或 Android 代码,并想了解 Swift 如何处理可选值、协议和 SwiftUI
  • 正在准备 iOS developer 面试,想练习 Swift 面试题
  • 想先在手机上尝试 SwiftUI 想法,再在 Mac 上打开项目
  • 喜欢简短的课时,可以利用空闲时间学习

如果你符合以下情况,这不是适合你的工具

  • 需要构建、签名并发布应用;这仍然需要在 Mac 上使用 Xcode
  • 想离线运行代码;Swift 编译器位于云端,需要网络连接
  • 希望所有内容都免费:第一门课程和部分功能免费,Pro 可解锁其余内容
  • 想要官方 Apple 课程;这是一个独立的学习应用,与 Apple 没有关系

问题

常见问题

学 Swift: 编程课程 是什么?

学 Swift: 编程课程 是一门面向 iPhone 和 Android 的 Swift 编程课程,包含 122 门课程和 409 个短课时。它将课时与代码编辑器、云端 Swift 编译器、可实时预览的 SwiftUI Playground、AI Mentor、编程任务和面试准备结合在一起。应用可免费开始使用,并提供 22 种语言。

不使用 Mac 可以学习 Swift 吗?

可以不使用 Mac 学习这门语言。应用会在云端编译器上运行 Swift 代码,并在手机上预览 SwiftUI 视图,因此只用手机也能学习语法、可选值、协议和布局。要构建并发布真正的 iOS 应用,最终仍然需要在 Mac 上使用 Xcode。

代码可以离线运行吗?

不可以。命令行 Swift 运行在云端编译器上,因此运行程序需要网络连接,应用商店页面也是这样说明的。只有 SwiftUI Playground 的预览是在设备本身上绘制的。

SwiftUI Playground 是什么?

它是 学 Swift: 编程课程 内置的预览区域,你可以在其中编写 SwiftUI 视图,并在手机上查看绘制结果。它支持堆栈、文本、按钮、图片、列表和 @State。当某段语法不受支持时,Playground 会显示对应的行号,让你知道原因。

Swift 适合作为第一门编程语言吗?

如果你的目标是 Apple 平台,Swift 是一个不错的选择。它的语法易于理解,而且语言在设计上注重安全性,可选值会要求你处理缺失值。代价是,一些概念(例如可选值、闭包和值类型)会较早出现。课程会将它们拆分到不同课时中逐一介绍。

这个应用能帮助准备 iOS developer 面试吗?

可以。应用提供 50 道用于 iOS developer 面试准备的 Swift 面试题、每日面试题,以及 50 道会讲解每个答案的测验题。Swift Recall 还会通过间隔重复,重新带你复习答错过的问题。

AI Mentor 如何帮助学习 Swift?

AI Mentor 可以回答有关概念或编译器错误的问题,例如解释为什么不能直接使用可选值。免费用户每天可提问一次,Pro 则取消次数限制。

哪些内容免费,哪些内容属于 Pro?

第一门课程、第一个引导项目、两个任务、Playground 基础内容、每日 Recall 练习和每天一个 AI Mentor 问题均可免费使用,免费版本会显示广告。Pro 可解锁所有课程、项目和任务、完整 Playground 以及证书考试,提供不限次数的 AI Mentor 使用权限,并移除广告。

它与 Apple 有关联吗?

没有。学 Swift: 编程课程 是一款独立的学习工具。Apple、iOS、Swift、SwiftUI、Xcode 和 UIKit 是 Apple Inc. 的商标,该应用未获得 Apple 的认可。

开始使用

今天就写下你的第一行 Swift 代码

在 iOS 和 Android 上免费开始,支持 22 种语言。

App Store — 免费下载Google Play — 免费下载
最近审核日期 · 由 CoddyKit 发布 · 隐私政策
可在 iOS 和 Android 上使用。