Swift
-
WWDC24 -
30:24 Swift 的新功能
和我们一起了解有关 Swift 的最新更新。我们将简要介绍 Swift 过去十年的发展历程,并带你了解 Swift 社区如何通过设立工作组、扩充软件包生态系统以及增强平台支持来不断发展壮大。我们还将介绍一种默认情况下可实现数据争用安全性的新语言模式,和一个可让你在高度受限系统中运行 Swift 的语言子集。此外,我们还将探索一些语言方面的更新,包括不可拷贝的类型、类型化的抛出,以及更出色的 C++ 互操作性。
-
14:01 SwiftData 的新功能
借助 SwiftData,你可以通过富有表现力的声明式 API 为你的 App 添加持久化功能。了解 SwiftData 的改进功能,包括复合唯一性约束、使用 #Index 实现更快的查询、在 Xcode 预览中进行查询,以及丰富的谓词表达式。和我们一起探索如何使用所有这些功能来表达更丰富的模型,并提升 App 的性能。要了解如何在 SwiftData 中构建自定数据存储或使用历史记录 API,请观看“使用 SwiftData 创建自定数据存储”和“使用 SwiftData 历史记录 API 跟踪模型更改”。
-
23:58 了解 Swift Testing
为你介绍 Swift Testing — 使用 Swift 测试代码的全新软件包。探索 Swift Testing 全新强大 API 的构建块,学习如何将它应用到常见测试流程中,并了解它与 XCTest 和开源 Swift 有何关联。
-
41:48 将 App 迁移到 Swift 6
以更新现有示例 App 为例,体验迁移到 Swift 6 的实际过程。了解如何循序渐进地逐个模块进行迁移,以及编译器如何帮你识别存在数据争用风险的代码。探索有哪些不同的技巧可用于确保隔离边界清晰,并避免对共享的可变状态进行并发访问。
-
22:17 利用 Embedded Swift 实现轻量级开发
Embedded Swift 让你在受限环境中仍能充分利用 Swift 的安全性和表现力。我们将使用现成的 Matter 设备进行展示,带你探索 Embedded Swift 在各种微控制器上的运行效果。了解 Embedded Swift 这个不含运行时且占用空间极小的子集如何为你带来 Swift 的种种好处,并探索众多资源来开启自己的 Embedded Swift 开发之旅。
-
22:14 Xcode 16 的新功能
探索 Xcode 16 在效率和性能方面的最新改进。了解代码补齐、诊断工具和 Xcode 预览方面的增强功能。进一步了解构建版本方面的更新,并探索调试和 Instruments 方面的改进。
-
27:16 利用 Swift Testing 进一步优化测试
了解如何使用 Swift Testing 的内置功能编写一系列出色的 (测试) 套件。探索如何进一步优化构建块并借助它们来扩展测试以涵盖更多场景,如何按不同的套件对测试进行分门别类,以及如何优化你的测试以并行运行。
-
27:36 Swift 概览:探索 Swift 的功能与设计
了解 Swift 编程语言的基本功能和设计理念。我们将探索如何进行数据建模、处理错误、使用协议、编写并发代码以及更多操作,同时为你讲解如何构建包含资源库、HTTP 服务器和命令行客户端的 Swift 软件包。无论你是 Swift 开发新手,还是从一开始就选择 Swift 的资深用户,本讲座都将帮你充分利用这一编程语言。
-
28:48 运行、暂停、检查:探索如何使用 LLDB 进行有效调试
了解如何使用 LLDB 来探索和调试代码库。我们将介绍如何充分利用崩溃日志和回溯栈跟踪,以及如何通过操作和复杂停止条件来优化断点流程。我们还将探索 Swift 6 中的“p”命令和最新功能可以如何帮你优化调试体验。
-
13:52 利用 SwiftData 创建自定数据存储
将 SwiftData 富有表现力的声明式建模 API 与你自己的持久化后端完美整合。了解如何构建自定数据存储,并探索如何逐步将持久化功能添加到你的 App 中。 为了充分利用好本次讲座,我们建议你先看一下 WWDC23 中的“认识 SwiftData”和“使用 SwiftData 为你的架构建模”。
-
16:40 探索 Swift on Server 生态系统
Swift 这种语言非常适合用来编写服务器端应用程序代码,而且为 Apple 各款云端产品的关键服务提供了强大支持。我们将探索相关工具、深入研究 Swift 服务器软件包生态系统,还将展示如何与数据库交互,以及为应用程序增加可观测性。
-
33:03 分析堆内存
深入探索 App 动态内存的基础:堆!了解如何利用 Instruments 和 Xcode 来衡量、分析并修复常见的堆问题。我们还将介绍一些相关的技巧和推荐做法,帮助你为自己的 App 诊断瞬时增长、持久增长以及内存泄露问题。
-
34:36 探索 Swift 性能
探索 Swift 如何实现抽象概念与性能表现的完美平衡。了解需要考虑的性能相关因素,以及 Swift 优化器对这些因素有何影响。探索 Swift 的不同功能及其实现方式,以便进一步了解哪些方面的权衡会影响性能。
-
22:21 在 Swift 中使用不可拷贝的类型
开始探索 Swift 中不可拷贝的类型。了解拷贝在 Swift 中的含义、何时需要使用不可拷贝的类型,以及值所有权如何让你清晰声明自己的意图。
-
16:52 使用 SwiftData 历史记录 API 跟踪模型更改
利用 SwiftData,直观呈现你的模型变更历史记录!使用历史记录 API 来了解数据存储何时发生了变更,并学习如何根据这些信息为你的 App 构建远程服务器同步和进程外变更处理等功能。我们还将介绍如何将对历史记录 API 的支持构建到自定数据存储中。
-
-
WWDC23 -
33:58 编写 Swift 宏
了解如何使用 Swift 宏让你的代码库更具表现力和易读性。和我们一起写代码,探索宏如何帮助你避免编写重复的代码,并了解如何在你的 App 中使用它们。我们将分享宏的构建模块,向你展示如何对其进行测试,并带你了解如何从宏中发出编译错误。
-
33:53 使用 Swift-DocC 创建丰富的文档
了解如何利用 Swift-DocC 的最新功能为你的 App 或框架创建丰富而详实的文档。我们将向你展示如何使用 Xcode 15 文档预览编辑器高效迭代现有项目的文档,并探索扩展的各创作功能,例如基于网格的布局、视频支持和自定义主题。为了充分利用本次讲座,你最好对 Swift-DocC 文档的基础知识有一定的了解。
-
18:24 使用参数包泛化 API
Swift 参数包是一个强大的工具,可以扩展泛型代码的可能性,同时还能帮助开发者简化常见的泛型模式。我们将展示如何对泛型代码中的类型和参数数量进行抽象,来避免使用超载。为了更好理解本讲座,我们建议开发者先查看 WWDC22 的 “采用 Swift 泛型”讲座。
-
8:52 认识 SwiftData
SwiftData 是专为 Swift 设计的一种强大且具备表达力的持久化框架。我们将向你展示如何直接使用 Swift 代码进行数据建模,以及如何使用 SwiftData 处理你的模型并与 SwiftUI 集成。
-
43:07 Swift 的新功能
与我们一起来了解 Swift 的更新。我们将向你展示 API 如何通过参数包和宏等功能变得更具可扩展性和表现力。我们还将带你了解互操作性方面的改进,并分享我们如何将 Swift 在性能和安全方面的优势扩展到各个领域 - 从 Foundation 到服务器上的大规模分布式程序。
-
9:25 使用 SwiftData 为你的架构建模
了解如何将架构宏和迁移计划与 SwiftData 结合使用,为你的 App 构建更复杂的功能。我们将向你展示如何使用 @Attribute 和 @Relationship 选项来微调持久性。了解如何使用 @Transient 从数据模型中排除属性,并轻松从一个版本的架构迁移到下一版本。 为了充分了解本次讲座,我们建议首先观看 WWDC23 的“认识 SwiftData”和“使用 SwiftData 构建 App”。
-
39:43 深入了解 Swift 宏
探索如何使用 Swift 宏在你的代码库中减少样板代码,并更轻松地采用复杂功能。了解宏如何分析代码,生成丰富的编译器错误以引导开发者正确使用宏,以及生成自动合并回项目中的新代码。我们还将介绍一些重要概念,如宏角色、编译器插件和语法树。
-
18:34 使用 SwiftUI 进行设计
了解 SwiftUI 如何帮助你快速迭代和探索设计理念。向 Apple 设计师学习,他们分享了 SwiftUI 是如何助力 watchOS 10 中的 Apple 地图 App 的设计及其他工作元素的设计,并了解如何将这些工作流程应用到你自己的设计流程中。
-
17:45 融合 Swift 和 C++
了解如何在你的 C++ 和 Objective-C++ 项目中使用 Swift,使你的代码更安全、快速和易于开发。我们将向你展示如何使用 C++ 和 Swift API 来逐步将 Swift 融入你的 App。
-
26:15 认识可合并库
了解可合并库如何结合静态库和动态库的优点,帮助提高 App 的工作效率和运行时性能。了解如何在交付尽可能小的 App 的同时实现更快的开发。我们将向你展示如何在 Xcode 15 中采用可合并库,并分享使用代码的最佳实践。
-
11:13 迁移到 SwiftData
了解如何在 App 中开始使用 SwiftData。我们将向你展示如何使用 Xcode 从现有的 Core Data 对象模型中生成模型类,结合此前的实施使用 SwiftData,甚至完全替换现有的解决方案。 在观看本次讲座之前,请务必观看“认识 SwiftData”。
-
24:22 超越结构化并发的基础
一切都与任务树有关:了解结构化并发如何帮助你的 App 管理自动任务取消、任务优先级传播以及有用的任务局部值模式。学习如何通过有用的模式和最新的任务组 API 在 App 中管理资源。我们将向你展示如何利用任务树和任务局部值的强大功能来深入了解分布式系统。在观看之前,请查看 WWDC21 的“幕后的 Swift 并发”和“探索 Swift 中的结构化并发”来复习 Swift 并发和结构化并发的基础知识。
-
21:56 认识 Swift OpenAPI Generator
学习如何用 Swift OpenAPI Generator 帮助你使用 HTTP 服务器 API,无论你是在扩展 iOS App 还是在 Swift 中编写服务器。我们将向你展示这个软件包插件如何通过从 OpenAPI 文档生成代码,来简化你的工作流程和代码库。
-
15:35 深入了解 SwiftData
了解 SwiftData 的强大功能在 App 中的应用。了解 ModelContext 和 ModelContainer 如何通过协同工作使 App 数据持久化。我们将向你展示如何进行手动跟踪和修改,以及如何通过 FetchDescriptor、SortDescriptor 和 enumerate 来规模化使用 SwiftData。我们建议你提前观看 WWDC23 的“了解 SwiftData”和“使用 SwiftData 对 Schema 建模”这两讲,以便充分汲取本讲知识。
-
-
Tech Talks -
14:05 探索 Journaling Suggestions API
了解新的 Journaling Suggestions API 如何帮助用户通过 App 重温生活中的点点滴滴和重大事件,同时保护他们的隐私。探索如何利用 API 检索 Journaling Suggestions 的资源和元数据、调用 App 之上的选择器、让人们保存建议的内容等等。
-
23:48 使用 TabularData 在 Swift 中探索和处理数据
探索如何使用 TabularData 框架在 Swift 中加载、探索和处理非结构化数据。无论您是需要为机器学习任务预处理数据,还是需要在 app 中实时生成数据摘要,这个框架都会对您有所帮助。了解这个框架如何帮助您处理大型数据集、将多个数据表格联接在一起,以及通过编程方式筛选数据。此外,我们还将向您展示如何在您的 app 中使用 DataFrame 来推动实现所有以数据为中心的功能。
-
-
WWDC22 -
13:01 Swift Async 算法简介
探索 Apple 的最新开源 Swift 软件包:Swift Async 算法。我们将讨论此软件包的算法 (可搭配 AsyncSequence 使用),包括压缩、合并和限流。和我们一起学习如何使用这些算法来构建一流的信息收发 App。我们还将分享有关结合多个 AsyncSequence,以及长时间利用 Swift 时钟类型来处理相关值的最佳实践。为能更好地理解此讲座,我们建议您先观看 WWDC21 的“认识 AsyncSequence”。
-
38:16 Swift 的新功能
和我们一起了解 Swift 的更新。我们将为您介绍如何提高性能,探索更安全而且可扩展的 Swift 软件包,并且分享 Swift 并发的改进。我们还将向您介绍 Swift 正则表达式、更出色的泛型,以及语言中内置的其他工具,帮助您编写更灵活、更有表现力的代码。
-
22:58 Swift 正则表达式简介
了解如何在利用 Swift 正则表达式时更高效地处理字符串。让字面值更简洁,同时保留正则表达式生成器 (一种全新的声明式字符串处理方法)。我们还将探索"字符串"中的 Unicode 模型,分享 Swift 正则表达式可以如何简化 Unicode 正确性处理。
-
15:48 在 Swift Playgrounds 中构建您的首个 App
学习如何使用 Swift Playgrounds 轻松地制作原型并构建 App。我们将介绍如何在空白项目的基础上开发 App,利用 SwiftUI 为它构建界面,以及借助 Swift Package Manager 添加来自开源软件包的额外功能。我们还将讨论您可以如何使用 Previews 和控制台调试问题,并指导您通过 TestFlight 将 App 提交到 App Store Connect 以便进行分发。
-
24:38 Swift 并发的可视化与优化
了解如何利用 Instruments 中的 Swift 并发模板优化您的 App。我们将讨论常见的性能问题,并向您介绍如何借助 Instruments 查找与解决这些问题。学习如何保持您的 UI 响应性,最大化并行性能,以及分析您的 App 中的 Swift 并发活动。为能更好地理解此讲座,我们建议您先熟悉 Swift 并发 (包括任务和角色) 的相关内容。
-
16:03 利用 Xcode 开发多平台 App
了解如何利用 Xcode 14 为多个 Apple 平台构建 App。我们将介绍如何简化 App 目标,维护常用代码库,以及默认共享设置。我们还将探索如何通过对您的设置和代码进行条件化,为每个平台自定义您的 App。
-
20:26 为 Swift Playgrounds 创作引人入胜的内容
了解如何制作专用于 Swift Playgrounds 的引导式说明内容。和我们一起探索如何为已完成的示例代码项目添加指南。我们将演示如何添加任务到您的学习中心,以展示相关代码和可选的实验任务,鼓励学习者以自己的代码扩展该项目。
-
27:29 采用 Swift 泛型
泛型是在 Swift 中编写抽象代码的基础工具。了解如何随着代码的发展识别抽象的机会,评估编写一段具有多项行为的代码的策略,并且探索 Swift 5.7 中可帮助您更轻松编写与理解泛型代码的语言功能。
-
21:32 深入了解 Swift 正则表达式
在字符串处理知识的基础上,进一步深入探索 Swift 正则表达式。我们将简要介绍正则表达式及其运作方式,探索 Foundation 的富数据解析以及如何集成您自己的内容,并针对捕获开展深入讨论。我们还将提供一些最佳实践,帮助您轻松匹配字符串并运用由正则表达式提供支持的算法。
-
25:17 Swift 的分布式 Actor 简介
了解分布式 Actor。它是 Swift Actor 的扩展,能够让开发分布式系统变得更加简单。我们将探索分布式 Actor 隔离和位置透明性可以如何帮助您在操作分布式 App 和系统时避免网络、序列化和其他传输问题的意外复杂化。为能更好地理解此讲座,请观看 WWDC21 的“利用 Swift Actor 保护可变状态”。
-
28:54 利用 Swift 并发消除数据争用
和我们一起探索 Swift 并发的核心概念之一:任务和角色隔离。我们将介绍 Swift 用以消除数据争用的方法,以及它对 App 架构的影响。我们还将讨论代码中的原子性有多么重要,分享 Sendable 检查的细微差别以保持隔离,并且回顾并发系统中的有序性工作假设。
-
15:27 Swift 软件包插件简介
探索如何利用 Swift 软件包插件对 Swift 软件包和 Xcode 项目执行操作。我们将讨论这些插件的运行方式,以及您可以如何借助它们来生成源代码,并对您的开发工作流程进行自动化。
-
25:31 使用 Swift 设计协议接口
了解如何利用 Swift 5.7 设计采用协议的高级抽象概念。我们将向您介绍如何使用既存类型,探索如何从具有不透明结果类型的接口分离出实施,并分享有助于识别与保证具体类型之间关系的相同类型要求。为能更好地理解此讲座,我们建议您先观看 WWDC22 的“采用 Swift 泛型”。
-
20:04 使用 LLDB 对 Swift 进行调试
学习如何设置复杂的 Swift 项目以进行调试。我们将带您深入了解 LLDB 的内部知识和调试信息。我们还将分享复杂情景的最佳实践,例如,针对构建在构建服务器上的代码或自定义构建系统的代码进行调试。
-
24:02 构建 Swift 软件包插件
定制您的开发工作流程,并学习如何使用 Swift 编写软件包插件。我们将介绍如何通过使用 PackagePlugin API 生成源代码或对任务发布进行自动化,从而扩展 Xcode 的功能;此外,我们还将分享有关构建优质插件的最佳实践。
-
17:35 在服务器端开发中运用 Xcode
了解如何在同一个工作区内开发、构建与部署除原有 Xcode 项目以外的 Swift 服务器 App。我们将介绍如何利用 Xcode 创建您自己的本地 App 和测试端点,并探索如何在服务器和客户端 App 之间设计结构与共享代码,以简化您的开发流程。
-
-
WWDC21 -
32:45 Swift 中的新增功能
加入我们,了解 Swift 的最新动态。发现最新语言改进如何让您的代码更容易阅读和编写。探索作为 Swift 包提供且数量越来越多的 API。同时,我们还将向您介绍 Swift 的 async/await 语法、结构化并发功能和参与者。
-
33:39 认识 Swift 中的 async/await
Swift 现在支持异步功能,通常称为 async/await 模式。了解新语法如何让您的代码更容易读取和理解。了解函数中断时会发生哪些情况,了解如何修改现有完成处理程序,用于异步函数。
-
27:54 探索 Swift 中的结构化并发
当您的代码需要与其他代码同时运行时,为作业选择正确的工具很重要。我们将向您介绍可在 Swift 中创建的不同类型的并发任务,向您展示如何创建任务组,以及了解如何取消正在进行的任务。当您需要使用非结构化任务时,我们也会提供指导。为了能充分了解本节内容,我们建议首先观看“认识 Swift 中的 async/await”。
-
61:00 Swift 并发功能:更新示例 App
实际探索 Swift 并发功能:跟随我们一起更新现有示例 App。通过 async/await、参与者和延续获得真实体验。我们还会探索用于随着时间将现有代码迁移到 Swift 并发功能的方法。为了充分了解此“编程临摹课程”内容,我们建议先观看 WWDC21 中“认识 Swift 中的 async/await”和“保护 Swift 参与者的可变状态”。
-
28:32 利用 Swift Actor 保护可变状态
当两个单独线程同时访问同一可变状态时,会发生数据竞争。它们构建起来很简单,但出了名的难以调试。了解如何才能停止与 Swift Actor 的这些数据竞争,从而帮助同步您的代码中的数据访问。探索 Actor 如何工作以及如何相互共享值。了解 Actor 隔离如何影响协议一致性。最后,一起来探索主要 Actor,这是一种确保您的代码始终根据需要在主要线程上运行的新方式。为了充分了解本节内容,我们建议先观看“认识 Swift 中的 async/await”。
-
30:30 认识 Swift 算法和字体集软件包
了解 Apple 开源 Swift 软件包列表中的两个最新成员:Swift 算法和 Swift 字体集。您不仅可以立即使用这些软件包,还可用来生成新的算法和数据结构,最终加入 Swift 标准库中。我们将向您展示如何将这些软件包集成到您的项目中,选择正确的算法和数据结构让您的代码更清晰、运行更快。
-
13:40 使用带有 URLSession 的 async/await
探索如何使用 async/await 和 AsyncSequence 在 URLSession 中采用 Swift 并发功能,以及如何运用 Swift 并发概念来改进您的网络代码。
-
14:21 认识 AsyncSequence
随时间迭代值序列现在和编写“for”循环一样简单。了解新的 AsyncSequence 协议如何实现自然、简单的语法,将来自通知的任何内容迭代成服务器流式传输的字节。我们还将向您展示如何修改现有代码,以提供自己的异步序列。为了充分了解本节内容,我们建议先观看“认识 Swift 中的 async/await”。
-
22:54 探索 SwiftUI 中的并发
探索如何使用 Swift 的并发功能来构建更棒的 SwiftUI app。我们将展示并发工作流程如何与 ObservableObject 交互,并探索如何直接在 SwiftUI 视图和模型中使用。了解如何使用 await 使您的 app 在 SwiftUI 运行循环中顺利运行,并了解如何使用 AsyncImage API 快速获取远程图像。我们将带您了解在自定义视图中启用其他异步流的过程。
-
27:04 为 Swift 和 SwiftUI 带来 Core Data 并发功能
了解 Core Data 如何采用 Swift 5.5 新的并发功能,为您带来更简洁、更高效以及更安全的异步代码。我们将展示如何在您的 app 中更新 Core Data 来处理并发,并详细介绍整个框架中其他许多让 Swift 和 SwiftUI 的使用更具表现力和更强大的改进。
-
14:26 使用精选集探索和管理 Swift 软件包
无论您是为了团队、出于教育目的,还是为了与其他开发者共享而编制软件包,Swift 软件包精选集都可以帮助您发现、探索新软件包并将其导入到您的项目中。使用精选集发现 Swift 软件包工作流程的改进,并了解如何管理、创建、签名和共享您自己的 Swift 软件包精选集。
-
39:18 Swift 并发功能:幕后故事
敬请深入了解 Swift 并发功能的细节,探索 Swift 如何在提高性能的同时提供更大的安全性,避免数据竞争和线程爆炸。我们将探讨 Swift 任务与 Grand Central Dispatch 有何不同、新的合作线程模型如何工作,以及如何确保您的 app 获得最佳性能。为了充分了解本节内容,我们建议先观看“认识 Swift 中的 async/await”、“探索 Swift 中的结构化并发”和“保护 Swift 参与者的可变状态”。
-
20:42 Swift 中的 ARC:基础功能和拓展功能
了解 Swift 中对象生命周期和 ARC 的基础知识。深入了解哪些语言特性使对象生命周期可观察,依赖于观察到的对象生命周期会带来什么影响,以及一些安全的修复技术。
-
46:56 使用结果生成器在 Swift 中写入 DSL
通过创建自定义的编程语言或“域特定语言”,更轻松地解决一些问题。虽然创建 DSL 一般需要编写您自己的编译器,但您也可以使用运用 Swift 5.4 的结果生成器,以使您的代码更容易阅读和维护。我们将带您了解为 Swift 设计自定义语言的最佳实践:了解结果生成器和尾随闭包参数,探索修饰符式方法及其效果好的原因,并发现如何扩展 Swift 的正规语言规则,以将 Swift 变成 DSL。为了能充分了解本节内容,最好 (但非必需) 拥有一些 SwiftUI 视图编程经验。您不需要知道关于分析程序或编译器实现的任何内容。
-
-
WWDC20 -
27:44 SwiftUI 新功能
SwiftUI 可以帮助你为 iPhone、iPad、Mac、Apple Watch 和 Apple TV 构建更精美强大的 app。进一步了解更多有关 SwiftUI 的最新进展,包括界面改进(如轮廓,网格和工具栏)。利用 SwiftUI 对 Apple 框架的增强支持来启用诸如“通过 Apple 登录”等功能。了解新的视觉效果以及新的控件和样式;以及新的 app 和场景 API 如何让你得以完全在 SwiftUI 中创建 app、自定义复杂性和所有新的小组件。 为了充分利用本节内容,你首先需要熟悉 SwiftUI。请观看“SwiftUI 介绍”获取入门知识。
-
32:19 Swift 的最新进展
加入我们获取有关 Swift 的最新信息。了解运行时性能方面的最新进展,以及对开发者体验的改进,这些改进能让你的代码读取、编辑和调试得更快。了解如何利用新的语言特性,如多个尾随闭包。了解 SDK 中可用的新库,并了解越来越多像 Swift Packages 一样可用的 API。
-
15:29 SwiftUI 中的 App 要领
借助新的 App 协议,现在 SwiftUI 已支持构建完整的 app 了。了解 App、Scene 和 View 如何一起配合。并了解在节省时间和降低复杂性的同时,您如何轻松实现用户期望能从一流产品中获得的功能。使用新的命令修饰符轻松地向界面中添加预期功能,并探索新的 WindowGroup API 的详情。 为能充分利用本节内容,你应该先对 SwiftUI 有一定的了解。请观看“SwiftUI 介绍”以获取入门知识。 如需更多 SwiftUI 相关信息,可选择:“SwiftUI 新增功能”,“Swift UI 中的数据要素”,“SwiftUI...
-
9:05 小组件编程临摹课程 1:开始学习
把你的 app 应用到家庭和 iPhone、iPad 以及 Mac 的当日屏幕上,进行一次最奇妙的冒险。我们将从头到尾指导你如何为你的 app 创建一个小组件,以便你可以在易于访问的位置为用户提供精美的视图和可查看的信息。了解如何创建小组件项目,了解小组件的基本概念及其结构,配置小组件及其提供程序,并开始了解时间线的概念。之 后,我们还将继续讨论小组件第2部分,从而进一步了解时间线、系统智能和配置。
-
5:18 Swan 的征途 第 2 篇章:乐音时间
Swift Playgrounds 出品《天鹅之旅》,一款老少咸宜的四章节互动冒险游戏。在这一章中,我们的英雄需要你来帮助破解天鹅之书。唤醒你的音乐细胞——你会需要它们的。 了解如何将 Swift Playgrounds 转换成音频发生器,以帮助我们的英雄找寻缺失信息...然后进入下一节。 《天鹅之书》为 iPad 与 Mac 量身定制,其中结合了我们许多 Playground 教育体验中使用的框架与资源(如 Sonic Workshop、Sensor Arcade 与增强现实等)。要了解更多如何制作自己 Playground 的信息,请查看“为 iPad 与 Mac 创建...
-
11:43 处理 UI 测试中的中断和警报
了解如何预测 app 的潜在中断并建立智能测试以识别它们。UI 中断通常是不确定的,一般是在用户引导或首次启动期间,这使得它们难以跟踪。了解如何理解中断,使用 UI 中断处理程序编写更强大的测试以及管理预期的警报。 进一步了解在 Xcode 中测试 app 的最新改进的更多信息,请查看“ XCT 跳过测试”,“更快获得测试结果”和“使用 XCTIssue 进行分类测试失败”。
-
20:53 活用 Swift 类型推论
在不影响类型安全的前提下,Swift 可借助类型推理帮助你编写简洁明了的代码。我们将带你了解编译器如何找出代码中线索来解决类型推理难题。并了解 Xcode 12 如何集成错误跟踪,以帮助你在编程时捕捉并纠正错误。
-
16:24 更快地获得测试结果
改进你的测试套件,从而加快反馈环路并更快地进行修复。了解更多关于 Xcode 测试的最新改进,包括如何利用测试计划、 Xcodebuild 更新功能和 APIs 消除无休止的不良测试。我们将探讨 XCTest 中的测试超时和执行时间限制,检查设备并行化,并详细介绍建议的做法,从而利用明确的故障定位平衡性能。 要想充分利用本节内容,建议先熟悉使用 XCTest 编写基本测试并了解如何利用测试计划管理测试。获取相关背景知识,请观看 WWDC19 中的“使用Xcode 进行测试”。
-
18:39 使用 Swift 在 Create ML 中进行控制训练
有了 Create ML 框架,开发模型和自动化工作流程将比以往更容易。 我们将向你展示如何在训练机器学习模型的同时探索它们并与之交互,从而帮助你快速开发更优良的模型。了解 Create ML 中的训练控制功能如何利用 checkpointing API 暂停、保存、恢复和扩展训练过程,从而自定义训练工作流程。 并了解如何使用 Combine API 程序化监视进度。 如果你还不熟悉 Create ML 并且有兴趣了解训练机器学习模型,建议观看“介绍Create ML APP”。
-
20:22 为小组件构建 SwiftUI 视图
小组件是来自 app 的小块信息,用户可以选择将其放在主屏幕或 Today view 中。了解使用 SwiftUI 从头开始构建小组件视图的过程。复习你需要了解用于特定小组件构造的句法,学习如何合并这些命令并自定义小组件界面,从而获得出色的浏览体验。 要了解更多有关小组件的信息,请确保了解“ 小组件编程临摹课程”。
-
36:15 SwiftUI 中的数据要素
对任何 app 来说数据都是一个复杂的部分,但是 SwiftUI 从原型到生产都可以确保一个平稳、数据驱动的体验。了解 State 和Binding 这两个功能强大的工具,它们可以保留和无缝更新你的真值来源。我们还将向你展示 ObservableObject 是如何让你将视图连接到数据模型的。你可以直接通过专家了解一些棘手的挑战和解决这些问题的好方法! 为了充分利用本节内容,你需要熟悉 SwiftUI。 请观看“SwiftUI 中的 app 必备知识”和“SwiftUI 介绍”。
-
42:42 改进 Swift 的 Objective-C 框架
对你的 Objective-C 数据头进行微调,使其与 Swift 完美匹配。我们将为你展示如何将僵硬难用的 Objective-C 框架转化为舒适方便的 API。学习如何使用注释套件,用注释做出丰富的类型信息、更朗朗上口的名称,以及更好的 Swift 错误信息。你还将探索也许之前并不了解的 Objective-C 传统使用方式,要做出驯服易用的 Swift API,它们正是关键。 为了在此节中获得最佳教学效果,请预先熟悉 Swift 与 Objective-C 的相关内容。 要了解更多关于 Swift 与 Objective-C 的使用信息,请查看我们的开发者文档,以及...
-
27:31 在 Swift 里安全管理指针
请跟随我们一起深入了解 Swift 中的不安全指针类型。了解每种类型的要求以及正确使用方法。我们将探讨一下指针类型、下拉切换至原始指针以及最终通过绑定内存来完全规避指针类型安全。 本部分为 WWDC20 的“不安全 Swift”的后续内容。为充分利用,你应该熟悉 Swift 和 C 程序设计语言。
-
14:43 Swan's Quest 第一章: 黑暗中的声音
Swift Playgrounds 出品《天鹅之旅》,一款老少咸宜的四章节互动冒险游戏。在这一章中,我们的英雄需要穿越黑暗洞穴——这是点燃火把的唯一方法。 了解旁白并编写音频说明。也许你就能帮我们的英雄解开音乐之谜…走向旅程的下个阶段。 《天鹅之旅》专为 iPad 与 Mac 量身定制,其中结合了我们许多 Playground 教育体验中使用的框架与资源(如 Sonic Workshop、Sensor Arcade 与增强现实等)。要了解更多如何制作自己 Playground 的信息,请查看“为 iPad 与 Mac 创建 Swift Playground 内容”一节。...
-
12:02 在 SwiftUI 内构建基于文档的 app
了解如何完全用 SwiftUI 创建一个基于文档的 app!我们将向你介绍 DocumentGroup API,以及它如何与你的 App 和 Scenes 组合在一起,使你可以添加现成的文档管理支持——例如文档浏览和标准命令——不需繁琐的工作。你将学习如何设置 Universal Type Identifiers,并了解是什么构成了基于文档的顶级 app。 为了充分利用本节内容,你首先需要熟悉在 SwiftUI 中构建 app。 请查阅“ SwiftUI 中 App 必备知识”了解更多信息。
-
8:08 天鹅之旅 第4章:序列完成
Swift Playgrounds 隆重推出《天鹅之旅》——一款老少咸宜的四章节互动冒险。大结局终于要来了:你已经熟练掌握了音符的使用技巧,但在这一章中,我们的英雄需要对多声部和声进行排序。 探索如何根据相应的 MIDI 代码对给出的乐器进行演奏,你可能需要帮助我们的英雄找出其中的旋律……并完成他们的旅程。 天鹅之旅》专为 iPad 与 Mac 量身定制,其中结合了我们许多 Playground 教育体验中使用的框架与资源(如 Sonic Workshop、Sensor Arcade 与 Augmented Reality等)。要了解更多如何制作自己 Playground...
-
8:29 为 iPad 和 Mac 创建 Swift Playgrounds 内容
了解如何创建可在 Mac 和 iPad 上流畅运行的 Swift Playgrounds 电子书,并帮助各个年龄段的人探索 Swift 编码的乐趣。 我们将引导你逐步了解如何为每个平台自定义内容,同时考虑平台设置,并帮助你在 playgrounds 上利用这些内容,同时仍然提供流畅的跨平台体验。 有关 Swift Playgrounds 的更多信息,请查看“在 Swift Playgrounds 中构建 SwiftUI 视图”,然后尝试使用“ Swan's Quest ”进行操作。
-
15:18 小组件编程临摹课程 2:变更时间线
在本次编程临摹课程中,我们将会让小组件改写未来、进入另一个时间线。开发者可以从上一次课程结束的地方开始,也可以使用第 2 课起始项目来穿越时间与空间、立即开始代码编写。学习如何将系统智能与小组件进行整合,使其在每天不同时间段中进行动态变化并展示该时间段最为相关的信息。探索核心时间线概念与多种小组件类型支持,并学习如何制作可配置的小组件。 在为小组件完成时间方面的配置后,就前往小组件编程临摹课程的最后一部分吧。在第 3 课中,你将会了解高级小组件概念与时间线方面的知识。
-
17:55 编写不合格的测试
为不合格测试制定计划:设计良好的测试,从而帮助你发现和诊断最棘手的漏洞。了解如何使用 XCTest 找到最优秀的代码中的隐藏问题,进而改进自动化测试。 我们将介绍如何进行不合格测试,从而简化分类问题,让你解决界面问题并快速提供修复程序。 要想充分利用本节内容,建议你先熟悉在 XCTest 框架内编写 UI 测试。 获取更多有关测试工具的信息,请查看“套件的测试周期”。
-
9:06 小组件编程临摹课程 3:加速时间线
我们开始学习小组件编程临摹课程第三部分,也最后一个部分,提升你的小组件水平。学习第 2 部分你没跟上的部分,或从第 3 部分的入门项目开始,加快学习速度。我们将探讨小组件、时间线和配置的高阶概念。了解如何加载进程内和后台 URL,以及如何直接链接到 app 内容,并了解如何创建能探索 app 中的各种功能的多重小组件,以及如何让小组件能够动态配置。 获取更多信息从而创建出色的小组件,请观看“为小组件构建 SwiftUI 视图”。
-
5:59 天鹅的探索 第三章:著名的卷轴
Swift Playgrounds 隆重推出《天鹅之旅》——一款老少咸宜的四章节互动冒险。诸位音乐家注意了!在这一章中,我们的英雄找到了一张神秘的音乐卷轴,只有你能将它解读出来。(就算你不认识乐谱也不用担心,我们聪明的蜥蜴会在一旁辅助的。总之,这肯定会是一次乐声美妙的体验。) 只要进行短暂的理论学习,掌握如何制作音符和不同的长度,也许你就能帮我们的英雄解开音乐之谜……走向旅程的下个阶段。 《天鹅之旅》专为 iPad 与 Mac 量身定制,其中结合了我们许多 Playground 教育体验中使用的框架与资源(如 Sonic Workshop、Sensor Arcade 与...
-
14:51 使用 Xcode Playground 探索软件包和项目
Xcode Playgrounds 帮助开发人员探索 Swift 和 框架 API,并为快速试验提供便笺。了解 Xcode Playgrounds 如何利用 Xcode 的现代构建系统,为资源提供改进支持,并与你的项目、框架和 Swift 软件包集成,从而提升文档记录和开发工作流程。
-
19:08 SwiftUI 中的叠放、网格和大纲
改进后的叠放、新列表和大纲视图可更快,更有效地在 SwiftUI app 中显示详细数据。 网格工具现已首次在 iOS 和 iPadOS 上使用,它是一种新的多平台工具,用于表示与叠放和列表一起使用的分层数据。了解如何使用 SwiftUI 最新改进的工具在使用表格视图时让屏幕显示更多内容,创建平滑滚动和响应式叠放以及为 vStack 不能提供的内容构建列表视图。 使用新的网格视图以及公开组,可以进一步扩展布局选项。 要想充分利用本节内容,我们建议你先查看“ SwiftUI App 要点”,其概述了 2020 年 SwiftUI 的所有新功能。如果你还不太熟悉 SwiftUI...
-
17:23 探索 Swift 中的日志记录
了解最新的 Swift 统一日志记录 API。了解如何在保留隐私的同时在 app 中记录事件和错误。 利用功能强大但易读的数据格式化选项——这些都不会影响性能。我们将向你展示如何收集和处理日志消息,从而帮助你了解和更正 app 中的异常行为。
-
22:50 不安全的 Swift
究竟是什么使代码“不安全”? 加入 Swift 团队,了解编程语言的安全预防措施——以及何时需要接触不安全的操作。我们将研究非正确使用会导致 API 出现什么意外状态,以及如何更具体地编写代码并避免未定义的行为。了解如何使用使用指针的 C API,以及要使用 Swift 不安全指针 API 时应采取的步骤。 为了充分利用本节内容,你应该对 Swift 和 C 语言编程有所了解。 更多有关使用指针的信息,请查看“在 Swift 中安全管理指针”。
-
7:47 将二进制框架作为 Swift Packages 发布
了解如何将第三方框架添加到 app 中,并在 Xcode 中使用 Swift 软件包保持更新状态。我们将向你展示如何编写可以引用框架的软件包,介绍二进制对象以及如何在软件包清单文件中指定它们,并演示如何计算校验和,以便你的客户端始终得到你所期望的二进制文件。 框架以 XCFramework 格式分发。关于创建和版本管理 XCFramework 的更多细节,请观看 WWDC19 的“ Swift 中的二进制框架”。
-
15:24 了解 Swift 中的数值计算
认识 Swift Numerics:一种用于计算数学的新 Swift 软件包。浏览软件包中可用的协议和类型,并了解如何使用它们编写通用代码。我们还将向你展示如何使用以及何时使用新的 Float16 类型来提高性能并减少内存使用。为了充分利用本次会议,你需要熟悉数学,例如对数函数,实数和虚数。你还应该熟悉 Swift 中的通用编程。 请观看 WWDC 18 中的“ Swift Generics(Expanded)”获得更多相关信息。
-
54:38 介绍 SwiftUI
了解声明式编程:我们将会介绍编写声明性代码的好处以及如何结合 SwiftUI 和 Xcode 帮助你更快地构建出色的 app。与此同时,你还能了解如何从头开始构建功能全面的 SwiftUI app。
-
14:14 在 Swift Playgrounds 中构建 SwiftUI 视图
利用 Swift Playgrounds 轻松玩转 SwiftUI。我们将向你展示如何在 Xcode-compatible playground 中创建 SwiftUI 视图, 并一起探索如何轻松对代码进行编辑和预览。 关于 Swift Playgrounds 的更多信息,请产看我们的互动挑战 《天鹅之旅》,你也可以通过观看“为 iPad 和 Mac 创建 Swift Playgrounds 内容”来了解更多相关内容并创建自己的视图。
-
15:43 Swift 软件包资源和本地化
在你使用 Swift 软件包进行组织和共享 Swift 代码时,请带上你的资源。了解如何在软件包中加入图像和 storyboard 等素材,以及如何从代码中访问这些素材。并学习如何添加本地化字符串,让世界各地的人都可访问你的代码。 要想充分利用本节内容,建议先熟悉 Swift 和打包代码。获取内容概要,请观看 WWDC19 中的“创建 Swift 包”。
-
12:38 使用 XCTIssue 分类测试失效
让你的测试失效正常运行:了解如何在 Xcode 中使用最新测试 API 对 app 中未监测到的问题进行分类和诊断。我们将向你展示如何简化测试工作流程,并结合故障原因帮助你推送优质产品。 若想了解如何设计你的测试,从而改进分类,请观看 “编写失效测试”。 若想了解 Xcode 测试工作流程的最新改进,请观看“更快地获取测试结果”、“处理 UI 测试中的中断和警报问题”以及“XCTSkip 你的测试”。
-
23:12 为你介绍 WidgetKit
Meet WidgetKit: 将 app 最有用的信息直接显示在主屏幕的最佳方法。我们将向你展示一个优秀小组件的必备要素,并介绍 WidgetKit 的特点和功能。了解如何创建窗口小组件,并了解 WidgetKit 如何利用 SwiftUI 的功能提供无状态体验。 了解如何利用现有的先进技术确保小组件显示相关内容。 并创建一个时间线,从而确保你能提供新鲜的内容。 有关创建窗口小组件的更多信息,请查看“为窗口小组件构建 SwiftUI 视图”和“小组件编程临摹课程”。
-
33:42 为 SwiftUI 预览组织你的 app
在开发过程中使用 SwiftUI 预览时,可以快速创建更灵活和可维护的 app。了解通过细微调整项目来改善预览体验。了解如何一次预览多个文件,如何管理预览的数据流以及如何在预览时使用样本数据。我们还将为你提供定义视图输入的策略,使其更加可预览和可测试。 为了充分利用本节内容,你需要对 SwiftUI 有所了解。有关在 Xcode 中与 SwiftUI 预览进行交互的介绍,请查看WWDC 20 中的“可视化编辑 SwiftUI 视图”。
-
-
WWDC19 -
41:19 Swift Playgrounds 3
Swift Playgrounds 3 简介:适用于 iPad 的开创性 app 的最新版本,让 Swift 编程充满互动和乐趣。探索如何利用自己的 Playground 来快速迭代使用设备功能的代码。了解新的模块功能如何既能帮助您整理自己的代码,又能为 playground 图书作者提供新的机遇。
-
36:44 Swift 新功能
Swift 现在是所有 Apple 平台上诸多主要框架选用的语言,包括 SwiftUI、RealityKit 和 Create ML。与我们一起回顾 Swift 5.0,并探索 Xcode 11 中新推出的 Swift 5.1。了解性能和安全性方面的最新改进。探索该语言的新功能,以及这些功能如何助力这些新框架的开发。
-
20:59 适用于 Swift 的 Accelerate 简介
Accelerate 框架提供了数百种计算函数,这些函数都针对设备运行的系统架构进行了高度优化。学习如何直接在 Swift 中使用所有这些强大的函数。了解强大的矢量编程如何为您的 iOS、macOS、Apple TVOS 和 watchOS app 提供卓越的性能。
-
33:24 在 Xcode 中采用 Swift 软件包
Swift 软件包是整理和分享代码的绝佳方式,现可在 Xcode 11 中为所有 Apple 平台构建 app 时使用。了解如何在您的项目中使用社区开发的软件包,如何构建 Swift 软件包,以及软件包版本管理和依赖项的工作方式。
-
40:32 Swift 中的二进制框架
Xcode 11 现充分支持通过 Swift 使用和创建二进制框架。了解如何利用新的 XCFramework 套装类型同时支持设备和模拟器,Swift 模块接口如何工作,以及如何长期管理您对框架的更改。
-
41:06 现代 Swift API 设计
每种编程语言都有一套规范,这是符合人们预期的。通过 SwiftUI、Combine 和 RealityKit 等新 API 中的示例,了解 Swift API 设计中常见的模式。不论您是以团队形式开发 app,还是要发布资源库来供他人使用,都可以了解如何使用 Swift 中的新功能来确保 API 清晰度和正确使用 API。
-
31:05 创建 Swift 软件包
不论您是要发布代码来在社区中分享,还是只想能方便地整理 app 中的代码,Swift 软件包都可以为您助力。了解如何创建供自己开发工作中使用的本地软件包,如何通过清单文件自定您的软件包,以及如何发布软件包来供他人使用。
-
-
WWDC18 -
39:48 在 Xcode 中更快地构建
在 Xcode 10 中更快地构建您的 app。了解如何构造项目和调整代码,从而充分利用所有处理器内核。无论是在小幅修改代码后查看具体效果,还是要完整地构建 app 以备发布,这些技巧都能够节省构建可运行 app 所需的时间。
-
36:38 了解 Swift Package Manager
通过 Swift Package Manager,您可以轻松地在 Swift 生态系统中开发和分发源代码。了解它的目标、设计、独特功能和持续改进机会。
-
-
WWDC17 -
40:09 Swift Playgrounds 中的 SceneKit
探索 Swift Playgrounds 内容团队为在有丰富视觉效果的 app 中高效使用 SceneKit 而总结的技巧与窍门。了解如何整合动画、优化渲染性能、进行辅助功能设计和增加视觉质感,理解利用 3D 素材资源创建高效工作流程的策略。
-
-
WWDC16 -
39:51 UIKit App 中面向协议和值的编程
去年我们举办了“面向协议的编程”和“利用各种值类型构建更加出色的 App”讲座,今年的讲座将着重介绍构建更加色的 Swift app 的技巧和窍门。了解如何在一个真实的基于 MVC 的 Cocoa Touch app 中结合使用这些设计方法,特别是在视图和控制器层中,您之前可能未曾考虑过运用这些技巧。
-
58:22 了解 Swift 性能
在本次高级讲座中,了解如何在 Swift 中实施结构、类、协议和泛型。了解它们在性能的不同维度上的相对成本。了解如何运用这个信息来提升代码运行速度。
-
35:41 通过 Swift 3 中的 GCD 进行并发编程
Swift 3 提供了新的接口,让开发者能够更加轻松地使用 Grand Central Dispatch 编写 app。了解 GCD 的基础知识,以及用它来架构 Swift app 的最佳做法。您还将了解新的 API 和其他 GCD 改进。
-
-
WWDC15 -
35:40 Swift 和 Objective-C 的互操作性
探索可以让您更轻松地编写能在 Swift 中流畅工作的 Objective-C API 的新功能,以及可以提供更出色的互操作性的 Swift 语言新功能。Apple 工程师还将探讨可提升 Swift 体验的 Apple SDK 增强功能。
-