我猜这个错误是否更有帮助,这将是显而易见的,但现在这是我试图编译的代码。
struct MultiselectFilterDropdown<C>: View where C : Identifiable, C.ID : Equatable, C.ID : CustomStringConvertible {
var allItems: [C]
var body: some View {
VStack {
ForEach(allItems) { item in
Text(item.description)
}
}
}
}
而且我不知道为什么编译器无法解决它。我看到它说它无法转换为
Range<Int>
或 Binding<C>
所以我猜测编译器甚至不知道 ForEach 的哪个初始化器最相关。
CustomStringConvertible
放错地方了。
struct MultiselectFilterDropdown<C>: View
where C : Identifiable & CustomStringConvertible,
C.ID : Equatable {
var allItems: [C]
var body: some View {
VStack {
ForEach (allItems) { item in
Text(item.description)
}
}
}
}