可识别的项目
本课属于 Coddy Swift 学习旅程的“SwiftUI 入门”单元。第 30 课,共 50 课。
真实的列表会保存结构体,两个条目可能有相同的名称。让结构体符合 Identifiable,为每个条目赋予独立身份:它需要一个 id 属性,并且每个条目的属性值都不同。
struct Book: Identifiable {
let id = UUID()
let title: String
let author: String
}每次创建 Book 时,UUID() 都会生成一个新的随机唯一值。对于符合 Identifiable 的项目,ForEach 不需要 id: 参数:
ForEach(books) { book in
VStack(alignment: .leading) {
Text(book.title)
.font(.headline)
Text(book.author)
}
}挑战
简单Book 几乎可以用于 ForEach 了。添加 let id = UUID() 属性,使它遵循 Identifiable,然后在 VStack 中使用 ForEach(books) 显示每本书的标题。
亲手试试
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
SwiftUI 入门中的所有课
自己练习: SwiftUI 在线编辑器