将枚举绑定到SwiftUI中的列表选项



我正试图在SwiftUI中将我的Enum案例作为列表选项呈现。我使用的是Xcode 13.2.1

我的问题是将枚举类型的状态变量绑定到List选项。我得到编译器错误"未能推断出泛型参数"SelectionValue";

enum MyEnum : String, CaseIterable, Identifiable
{
var id : RawValue { rawValue }

case A = "_A_"
case B = "_B_"
case C = "_C_"
}

struct MyView : View
{
@State var choice : MyEnum = MyEnum.A
var body : some View
{
List( MyEnum.allCases , selection: $choice) // << Generic parameter error here
{ name in
Text(name.rawValue)
}
}
}

试图指定通用参数似乎对我也没有帮助。

例如,我尝试了

List<MyEnum, ForEach<[MyEnum], String, Text>>( MyEnum.allCases , selection: $choice)

但是得到相同的编译器错误

List选择类型需要是可选的。这是固定部件

struct MyView : View
{
@State var choice : MyEnum? = MyEnum.A      // << here !!
// .. other content
}

相关内容

  • 没有找到相关文章

最新更新