更正第一题:添加物品须在运行时从控制台输入;iPad 不适用于第一题

- 重写“4. 从控制台添加物品与运行案例”,明确 readLine 输入及重复、空输入、清单外物品的处理
- 学习范围补充 while、readLine 与可选值的最基本处理;考察重点补充“输入与更新”
- 环境指南:iPad 不能用于第一题,新增控制台输入验证与中文输入报错处理
- 首页加入更正提示
This commit is contained in:
2026-10-02 17:48:52 +08:00
parent af483811cb
commit 848db15277
3 changed files with 79 additions and 24 deletions
+24 -9
View File
@@ -1,20 +1,20 @@
# 开发环境配置
> 适用于 2026 iOS 部国庆考核。最后核对:2026-10-01。软件版本更新很快,遇到与本文不一致的界面或报错,保留截图在 QQ 群求助。
> 适用于 2026 iOS 部国庆考核。最后核对:2026-10-02。软件版本更新很快,遇到与本文不一致的界面或报错,保留截图在 QQ 群求助。
## 先看结论:我需要装什么?
第一题只需要能运行 **Swift 命令行程序**,不需要 Mac,也不需要 Xcode;第三题要做 iOS App,才需要 Xcode(Mac)或 Swift Playground(iPad)。
第一题需要能运行 **Swift 命令行程序**,并能**在终端里输入**:不需要 Mac,也不需要 Xcode,但需要一台电脑,iPad 不行。第三题要做 iOS App,才需要 Xcode(Mac)或 Swift Playground(iPad)。
| 我的设备 | 第一题(命令行 Swift) | 第三题(SwiftUI App,选做) |
| --- | --- | --- |
| **Windows 电脑** | Swift 工具链 + VS Code(见下文 Windows 部分) | 无法开发 iOS App;可用 iPad 或借用 Mac |
| **Mac,Apple 芯片(M 系列),系统 macOS Tahoe 26.6 及以上** | Command Line Tools 或 Xcode 27 + VS Code / 终端 | Xcode 27 |
| **Mac,Intel 芯片或系统较旧** | Command Line Tools(能装上即可) | 按下表选择与系统匹配的旧版 Xcode |
| **iPad(iPadOS 18 及以上)** | Swift Playground,在控制台查看输出 | Swift Playground 可以写 SwiftUI App |
| **iPad(iPadOS 18 及以上)** | **不适用**:Swift Playground 无法在控制台输入 | Swift Playground 可以写 SwiftUI App |
| **Linux** | 官方 Swift 工具链(swiftly)+ VS Code | 无法开发 iOS App |
第一题只用到数组、循环、判断、函数和 `print`,都属于 Swift 标准库,在 Windows、macOS、Linux 上结果一致。本文示例程序已在 Swift 6.4(Linux)实际运行通过。
第一题只用到数组、循环、判断、函数、`print` 和 `readLine()`,都属于 Swift 标准库,在 Windows、macOS、Linux 上结果一致。本文示例程序已在 Swift 6.4(Linux)实际运行通过。
## 通用:安装 VS Code 与 Swift 扩展
@@ -96,12 +96,13 @@ swift main.swift
## iPad:Swift Playground
1. 在 App Store 安装 **Swift Playground**(需要 iPadOS 18 及以上)。
2. 在欢迎页点 **“新建 Playground”**,选择 **Book(游乐场书)**,得到一个空白的“My Playground”。**第一题不要选 App**,App 模板需要 SwiftUI 结构,不能直接写顶层代码。
3. 把代码写进去,点击 **“运行我的代码”**(Run My Code)。
4. 点击 **控制台**按钮查看 `print` 的输出(按钮上的圆点表示有新输出);第一题截图需要清楚显示控制台里的运行结果。
**第一题不能用 iPad 完成**:第一题要求从控制台输入,而 Swift Playground 的控制台只能显示输出,不能输入。只有 iPad 的同学,请尽快在招新 QQ 群联系干部协调电脑。
做第三题时再选 **App** 模板,用 SwiftUI 开发。
Swift Playground 可以用来练习语法和做第三题:
1. 在 App Store 安装 **Swift Playground**(需要 iPadOS 18 及以上)。
2. 练习语法:在欢迎页点 **“新建 Playground”**,选择 **Book(游乐场书)**,写代码后点击 **“运行我的代码”**,在 **控制台**查看 `print` 的输出。
3. 做第三题:选择 **App** 模板,用 SwiftUI 开发。
## 在线运行器(仅作临时备用)
@@ -137,6 +138,19 @@ for item in items {
这段代码只用来验证环境,不是第一题的答案。
### 再验证一下控制台输入
第一题要从控制台输入中文,建议同时验证这一点。把 `main.swift` 换成下面的内容,运行后输入“水杯”并回车:
```swift
print("请输入一个物品:", terminator: "")
if let text = readLine() {
print("你输入的是:\(text),共 \(text.count) 个字")
}
```
看到 `你输入的是:水杯,共 2 个字`,说明输入正常。如果显示乱码、问号或字数不对,见下方“常见报错”。
## 常见报错
| 报错或现象 | 原因与处理 |
@@ -149,6 +163,7 @@ for item in items {
| 提示需要同意 Xcode 许可 | 运行 `sudo xcodebuild -license`,按提示同意 |
| `expressions are not allowed at the top level` | 同时编译了多个 `.swift` 文件;文件夹里只保留 `main.swift`,编译时只写这一个文件名 |
| `no such module 'SwiftUI'` 或 `'UIKit'` | 第一题不需要这些框架;删掉 `import` 那一行 |
| 输入中文后显示乱码、问号,或程序认不出输入的物品 | Windows 先运行 `chcp 65001` 再运行程序;建议使用 Windows 终端(Windows Terminal)或 VS Code 内置终端。仍不行时,按第一题题面的说明把物品名称换成英文或拼音 |
| 中文输出乱码 | 确认 `main.swift` 以 UTF-8 保存(VS Code 右下角显示 `UTF-8`);Windows 可先运行 `chcp 65001` 再运行程序 |
| 提示找不到 `winget` | 在 Microsoft Store 安装或更新“应用安装程序”(App Installer) |
| 下载很慢或失败 | 换网络(如校园网)重试,尽早开始,不要拖到最后 |