【发布时间】:2019-11-21 19:29:57
【问题描述】:
我正在尝试遍历对象数组。此对象符合 Identifiable 协议。使用ForEach 循环时,出现以下错误:Type of expression is ambiguous without more context
我已经包含了引发错误的代码块。该错误特别强调\.name。我错过了什么吗?
另一个注意事项:此代码在 Xcode 11 Beta 2 中有效,但在 Xcode 11 Beta 3 中中断...
struct ItemRow : View {
var categoryName:String
var items:[Item]
var body: some View {
VStack {
Text(self.categoryName)
.font(.title)
ScrollView(showsHorizontalIndicator: false) {
HStack (alignment: .top){
ForEach (self.items.identified(by: \.name)) { item in
NavigationLink(destination: ItemDetail(item: item)) {
ItemView(item: item)
.frame(width:300)
.padding(.trailing, 30)
}
}
}
}
}
}
}
这是可识别对象:
struct Item:Hashable, Codable, Identifiable {
var id:Int
var name:String
var category:Category
var description:String
}
(这段代码已经抽象出来了)
【问题讨论】:
-
您的代码编译得很好,但是您在示例中留下了很多代码,所以我不得不自己创建缺少的部分。请包含更多代码,特别是您的 Identifiable 类型。还有一点上下文。否则无法为您提供帮助。
-
@kontiki 感谢您的反馈。我添加了我的可识别类型。你在寻找什么样的其他背景?我正在努力提高提问的能力,所以请告诉我。
-
更多上下文我的意思是更多围绕 ForEach 的代码。但是,根据您添加的新信息,我发现了一个问题。让我将其发布到答案中。
-
我发布了一个答案,指出了一些潜在的问题。另外,既然你问,要写出更好的问题,请检查:stackoverflow.com/help/how-to-ask
-
@kontiki 谢谢!我认为一个潜在的问题是我对问题的理解不足以首先提出问题。感谢您的指导!
标签: swiftui