【发布时间】:2021-10-28 06:08:20
【问题描述】:
以下代码实质上确定它是否应该显示按小时付费的工作或其他工作的列表,然后基于此返回一个视图。我遇到的问题是,如果我用 ForEach 视图替换 List 视图,我会收到错误消息:Type of expression is ambiguous without more context。
根据我的研究,这似乎是与类型有关的错误。然而,这就是为什么我把它打包成一个组。那么,为什么列表视图不会产生错误,而 ForEach 视图会产生错误呢?
func jobList(_ jobListMode: String) -> some View {
Group {
switch jobListMode {
case "Hourly":
List(hourlyJobs, id: \.id) { job in
Text(job.jobTitle)
}
default:
List(hourlyJobs, id: \.id) { job in
Text(job.jobTitle)
}
}
}
这不会产生错误^^^
func jobList(_ jobListMode: String) -> some View {
Group {
switch jobListMode {
case "Hourly":
ForEach(hourlyJobs) { job in
Text(job.jobTitle)
}
default:
ForEach(hourlyJobs) { job in
Text(job.jobTitle)
}
}
}
这会产生错误:Type of expression is ambiguous without more context
抱歉这个问题太长了!
【问题讨论】:
-
试试
ForEach(hourlyJobs, id: \.self)(ForEach也需要每个元素都符合Identifiable) -
您也可以显示
hourlyJobs和Job的代码吗? -
@aheze 成功了,非常感谢!
-
不!我还添加了一个包含更多详细信息的答案。
标签: swift xcode types foreach swiftui