SwiftUI Mac OS 如何将选择添加到列表视图

Nay*_*yef 5 macos list selection swiftui

很容易创建一个像这样的简单列表:

List { Text("Item 1") Text("Item 2") Text("Item3") }
Run Code Online (Sandbox Code Playgroud)

但是我如何添加像传统 NSTable 这样的选择?

Nay*_*yef 8

struct names {
    var id = 0
    var name = ""
}

var demoData = ["Phil Swanson", "Karen Gibbons", "Grant Kilman", "Wanda Green"]

struct SelectionDemo : View {
    @State var selectKeeper = Set<String>()

    var body: some View {

        HStack {
            List(demoData, id: \.self, selection: $selectKeeper){ name in
                Text(name)
            }.frame(width: 500, height: 460)
        }
    }
}

#if DEBUG
    struct ContentView_Previews: PreviewProvider {
        static var previews: some View {
            SelectionDemo()
        }
    }
#endif
Run Code Online (Sandbox Code Playgroud)

  • 在苹果开发者论坛上,似乎关键是使用“id:\.self”,它对我有用,尽管我的数据已经符合可识别性。 (3认同)