会议计划
会议计划为你提供俱乐部活动建议,帮助你学习 SwiftUI 基础知识以及数据建模和空间计算的基础知识。
会议计划为你提供俱乐部活动建议,帮助你学习 SwiftUI 基础知识以及数据建模和空间计算的基础知识。
如果你之前从未使用过 Xcode、Swift 或 SwiftUI,请从“SwiftUI 基础知识”开始学习。
5 个独立完成的教程
10 次会议 (包含团体活动)
通过使用 SwiftUI 构建 App 来学习 App 开发的基础知识。按照分步教程操作,创建原型、App 屏幕和功能完备的 App。然后在俱乐部的帮助和支持下,运用所学到的知识创作属于你的独特作品。
注:你无需 iPhone 也可以预览 App。Xcode 中包含的工具可以直接在 Mac 上为你展示 App 的视觉效果和运作方式。
请先阅读欢迎学习“使用 Swift 开发”教程。
通过创建即时通讯 App 的原型来了解 Xcode 和 SwiftUI。了解 Swift 的语法,以及如何使用源代码编辑器和预览。
准备工作:在第 1 次会议之前完成“初识 SwiftUI” 教程。
团体活动:以小组形式或全体一起完成《总结:探索 Xcode》 一文中“Extend your app”(扩展 App 功能) 部分的两个建议。
准备工作:阅读《总结:探索 Xcode》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:新建一个名为“MyselfInSixWords”的 Xcode 项目。使用 Text
视图显示 6 个描述你的词。为每个词设置一定的边距和不同的背景色。将
替换为 VStack
HStack
,尝试横向显示这些词。然后,为了增加挑战难度,请结合使用 HStack
和 VStack
视图,为 App 创建不同的布局。你能否将一个 HStack
视图嵌套在一个 VStack
视图中,或者反过来。如果这样做会怎样?
会议结束时,每人花几分钟时间来展示你的 MyselfInSixWords 项目。
了解如何构建自定义视图以创建多日天气预报。你将在视图中使用属性来自定义每一天的显示内容。
准备工作:完成“使用属性自定义视图” 教程。
团体活动:以小组形式或全体一起完成《总结:视图、结构体和属性》 一文中“Extend your app”(扩展 App 功能) 部分的一个或两个建议。
准备工作:阅读《总结:视图、结构体和属性》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:练习使用计算属性。添加一个计算属性,在最高气温高于 80 华氏度 (high > 80
) 时返回不同的颜色。使用 .foregroundStyle
修饰符,根据该属性的值更改文本颜色。
每人花几分钟时间来展示你的成果。记下你能添加到项目中的内容,以及你还需要协助或需要时间才能完成的内容。
为 iOS App 构建两个新手引导屏幕,帮助用户了解有用的工具,将视图放置在屏幕上的理想位置并查看其尺寸。在资源目录中定义颜色,并使用它们创建渐变背景。
准备工作:阅读《总结:布局和样式》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:练习轻扫切换多个视图。新建一个 Xcode 项目,并使用 .tabViewStyle(.page)
创作一个简短的故事,这样你就可以轻扫切换书页。将第一个页面设计为书的封面,加上大标题、作者姓名、一个或多个 SF Symbols 符号,以及一些色彩点缀。对于故事中的页面,想出有创意的方式来显示章节标题、文本和图片。
每人花几分钟时间展示你在图书项目中取得的成果。讨论你计划继续改进哪些内容。
了解如何将按钮添加到 App。了解 Swift 闭包及其与按钮的关系。使用状态属性来自动更新用户界面。
准备工作:阅读《总结:按钮和状态》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:创建一个简单的按钮 App。新建一个 Xcode 项目,并设计一个包含一到两个按钮的 App。你可以使用设计一个简单的 App 项目来帮助你构思。
每人花几分钟时间展示你的按钮 App 设计和项目。与你的俱乐部分享你认为比预期更容易和更困难的事情。
创建一个动态界面,以数组形式储存一组项目,并用列表显示这些项目。使用文本栏和绑定来让用户输入文本。
准备工作:阅读《总结:列表和文本栏》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:设置地址标签的格式。新建一个名为“AddressLabel”的 Xcode 项目。使用 @State
属性和文本栏收集地址的不同元素,例如城市和国家/地区。然后在屏幕顶部显示完整格式的地址。自定义登记表单和地址的字体、大小和颜色。
每人花几分钟时间,分享你打算在此次俱乐部结束后做些什么。你会如何继续学习 App 开发?你想开发什么 App?
7 个独立完成的教程
9 次会议 (包含团体活动)
通过使用 SwiftUI 构建 App 来学习数据建模的基础知识。按照分步教程操作,创建原型和功能完备的 App。然后在俱乐部的帮助和支持下,运用所学到的知识创作属于你的独特作品。
注:你无需 iPhone 或 iPad 也可以预览 App。Xcode 中包含的工具可以直接在 Mac 上为你展示 App 的视觉效果和运作方式。
请先阅读欢迎学习数据建模。
通过创建自己的自定义类型来定义你的首个数据模型,并利用单元测试证明该模型能正常运行。然后,使用自定义类型来跟踪游戏中的分数。
准备工作:完成“使用自定义类型为数据建模” 教程,并阅读《总结:使用自定义类型为数据建模》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:以小组形式或全体一起完成《总结:使用自定义类型为数据建模》 一文中“Extend your app”(扩展 App 功能) 部分的一个建议。
准备工作:完成“通过 Swift 测试添加功能” 教程,并阅读《总结:自定义类型和 Swift 测试》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:算出获胜总分数。更新你的 App,在玩家达到特定总分数时自动结束游戏。用户应该能在设置视图中配置这个总分数。添加测试以增加玩家的总分数,并验证达到总分数时游戏状态发生变化。
会议结束时,每人花几分钟时间来展示你如何将项目改进为在玩家达到指定分数时自动结束游戏。
构建一份朋友们的生日列表,使用 SwiftData 来在多次启动之间存储和检索这些数据。
准备工作:阅读《总结:模型和持久性》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:完善 Pick-a-Pal 的功能。重新访问 Pick-a-Pal,并将 names: [String]
替换为由 SwiftData 提供支持的 Pal
模型。
花几分钟时间,以小组形式讨论将 SwiftData 加入 Pick-a-Pal App 有哪些益处。
创建一个 App,使用 SwiftData 来管理模型对象,以跟踪朋友及其最喜欢的电影。使用查询以列表形式显示项目,并创建详细视图以进行编辑。然后学习如何创建并显示朋友和影片之间的关系,并探索如何创建高级查询。
准备工作:完成“浏览示例数据” 教程并阅读《总结:浏览示例数据》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:重新访问 Birthdays 并实现 SampleData
类,这样你就不必依赖 .task
来插入示例数据。
准备工作:完成“创建、更新和删除数据” 教程并阅读《总结:创建、更新和删除数据》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:创建一个 iOS App 项目,并在“Project Options”对话框中选择“SwiftData”存储方式。检查示例代码。你应该会注意到它与你在前面两个教程中构建的界面非常相似。你已经了解了它的工作方式,现在可以此为起点创建你的下一个 App。
准备工作:完成“处理关系” 教程并阅读《总结:导航、编辑和关系》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:以小组形式或全体一起完成《总结:导航、编辑和关系》 一文中“Extend your app”(扩展 App 功能) 部分的一个或两个建议。
利用 Observation 来驱动字母游戏。多个独立视图共享一个复杂数据模型。
准备工作:完成“制作一个逻辑游戏” 教程。
团体活动:以小组形式或全体一起完成《总结:Observation 和可共享数据模型》 一文中“Extend your app”(扩展 App 功能) 部分的一个或全部两个建议。
团体活动:难度模式。添加难度模式,让游戏更具挑战性。比如让玩家在提交错误顺序时被扣分而不是重玩。你还可以更进一步,将词隐藏起来,让玩家只根据图标来进行字母排序。
每人花几分钟时间,分享你打算在此次俱乐部结束后做些什么。你会如何继续学习 App 开发?你想开发什么 App?
3 个独立完成的教程
6 次会议 (包含团体活动)
通过使用 SwiftUI 构建 App 来学习空间计算的基础知识。按照分步教程操作,创建原型和功能完备的 App。然后在俱乐部的帮助和支持下,运用所学到的知识创作属于你的独特作品。
注:你无需使用 Apple Vision Pro 设备。Xcode 中包含的工具可以直接在 Mac 上为你展示 App 的视觉效果和运作方式。
请先阅读欢迎学习空间计算。
使用 SwiftUI,打造你的首个带窗口的 visionOS App。
准备工作:在第 1 次会议前完成“为 App 添加深度” 教程。
团体活动: 以小组形式或全体一起完成《总结:visionOS 中的窗口》 一文中“Extend your app”(扩展 App 功能) 部分的两个建议。
准备工作:阅读《总结:visionOS 中的窗口》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:创建词语网格。新建一个名为“CloserWordGrid”的 Xcode 项目。使用 Grid
和 GridRow
来创建一个词语网格,这些词是能描述你的词语。为每个词添加一些后边距。为了增加挑战难度,请随机选择一个词来添加额外的后边距,看看你能否每次都猜出哪个词最靠前。
会议结束时,每人花几分钟时间来展示你的 CloserWordGrid 项目。分享这个新平台给你带来的启发,以及你打算如何在下一个 App 中利用这些新的机会。
使用 SwiftUI 在 visionOS 中创建多个窗口。使用装饰元素提供对常用控件的访问,同时避免窗口内容显得拥挤或被遮挡。
准备工作:完成“在装饰元素中呈现常用控件” 教程。
团体活动:以小组形式或全体一起完成《总结:装饰元素和多个窗口》 一文中“Extend your app”(扩展 App 功能) 部分的一个或全部两个建议。
准备工作:阅读《总结:装饰元素和多个窗口》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:添加一项功能以快速访问标签。你创建的标签可以关闭或隐藏在其他标签后面。创建一个 SwiftUI 列表
,你可以从中选择一个标签,让它成为焦点。从该列表中选择一个标签后,使用 openWindow
将该标签置于前景中,并在必要时重新打开它。
每人花几分钟时间来展示你的成果。记下你完成了的内容,以及你还需要协助或需要时间才能完成的内容。
使用 Reality Composer Pro 和 SwiftUI 在共享空间中从任意角度查看 3D 内容。
准备工作:完成“在共享空间中创建 3D 模型” 教程。
团体活动:以小组形式或全体一起完成《总结:visionOS 中的体积》 一文中“Extend your app”(扩展 App 功能) 部分的一个或全部两个建议。
准备工作:阅读《总结:visionOS 中的体积》 一文中的“Reflect on the concepts”(回顾概念) 部分。
团体活动:探索“Hello World”。下载 Hello World App 并探索代码。从 WorldApp 文件开始,看看其中有多少感觉熟悉的内容。数一数用了多少个 WindowGroup
场景。注意使用了体积窗口样式的位置。阅读代码注释以尽可能多地学习。准备就绪后,尝试对项目稍加更改。
每人花几分钟时间,分享你打算在此次俱乐部结束后做些什么。你会如何继续学习 App 开发?你想开发什么 App?