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

Binding Enum to List choice in SwiftUI

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

我的问题是将枚举类型的状态变量绑定到列表选项。我收到编译器错误 “无法推断通用参数 '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
}