【发布时间】:2021-06-11 09:28:55
【问题描述】:
我有这个示例代码:
struct Item: Identifiable {
var id = UUID()
var name: String?
}
struct ItemTable: View {
let items: [Item]
var body: some View {
Table(items) {
TableColumn("Name", value: \.name)
}
}
}
我收到以下错误:
键路径值类型“字符串?”无法转换为上下文类型“字符串”
我可以使用\.name! 解决问题,但我想提供一个默认值(类似于\.name ?? "default")。
我怎样才能做到这一点?
【问题讨论】:
-
@JoakimDanielson 更改模型结构似乎并不理想。
-
你可以给 Item 结构中的 name 一个默认值,比如 var name:String = “”,而不是让它成为可选的。