SwiftUI 使用枚举构建列表

Mat*_*der 3 swift swift5 swiftui

我正在尝试基于枚举字符串创建 SwiftUI 列表。我面临这个错误:

Cannot invoke initializer for type 'List<_, _>' with an argument list of type '([HomeView.Data], @escaping (String) -> HomeMenuRow)'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我无法理解如何使用 id 或如何遍历枚举来构建一行。

Chr*_*ris 9

尝试这个:

enum Whatever  : String, CaseIterable, Identifiable {

    var id : String { UUID().uuidString }

    case one = "one"
    case two = "two"
}

struct ContentView: View {
    var body: some View {
        VStack {
            List (Whatever.allCases) { value in
                Text(value.rawValue)
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)