苹果的 SwiftUI 教程产生编译错误



我刚开始学习SwiftUI,所以我决定学习苹果的教程,使用最新的Xcode(12.5(。一行代码立即给我带来了语义错误:"Value of type 'Color' has no member 'accessibleFontColor'"

以下是整个源模块:

//
//  CardView.swift
//  Scrumdinger
//
//  Created by Vacuumhead on 6/4/21.
//
import SwiftUI
struct CardView: View {
let scrum: DailyScrum
var body: some View {
VStack(alignment: .leading) {
Text(scrum.title).font(.headline)
Spacer()
HStack {
Label("(scrum.attendees.count)", systemImage: "person.3")
.accessibilityElement(children: .ignore)
.accessibilityLabel(Text("Attendees"))
.accessibilityValue(Text("(scrum.attendees.count)"))
Spacer()
Label("(scrum.lengthInMinutes)", systemImage: "clock")
.padding(.trailing, 20)
.accessibilityElement(children: .ignore)
.accessibilityLabel(Text("Meeting length"))
.accessibilityValue(Text("(scrum.lengthInMinutes) minutes"))
}
.font(.caption)
}
.padding()
.foregroundColor(scrum.color.accessibleFontColor)
}
}
struct CardView_Previews: PreviewProvider {
static var scrum = DailyScrum.data[0]
static var previews: some View {
CardView(scrum: scrum)
.background(scrum.color)
.previewLayout(.fixed(width: 400, height: 60))
}
}

得到错误的行是body:的最后一行

.foregroundColor(scrum.color.accessibleFontColor)

消息为"Value of type 'Color' has no member 'accessibleFontColor'"

当我注释掉那一行时,程序编译和运行得很好,当然没有任何颜色。我从恐龙时代就开始写C++了,但我是SwiftUI的新手,甚至不知道该从哪里解决这个问题。

欢迎提出任何建议。

示例项目中可能缺少一个名为Color+Codable.swift的文件,该文件定义了Color上的一些扩展名。一种是accessibleFontColor:

extension Color {
var accesibleFontColor : Color {
//etc.
}
}

从下载文件https://developer.apple.com/tutorials/app-dev-training/managing-state-and-life-cycle并确保您在项目中使用Color+Codable.swift

最新更新