I'm trying to make a three column Split View where the sidebar determines the type of content, so I was hoping to have separate views drive the Lists for each content type, but I'm getting an issue where the selections get out of sync / don't highlight. For simplicity, I tested using a sidebar/detail Split View, as follows: struct StringItem : Identifiable, Hashable { let id = UUID() let item : String } struct SimpleSplitView: View { @State private var selString : StringItem? let content = [StringItem(item: Here), StringItem(item: There), StringItem(item: Everywhere) ] var body: some View { NavigationSplitView { // This List(content, selection: $selString) { c in NavigationLink(value: c) { Text(c.item) } } // or this ContentStringX(selection: $selString) } detail: { if let s = selString { DetailStringX(item: s) } else { Text(Empty) } } } } struct ContentStringX: View { let content = [StringItem(item: Here), StringItem(item: There), StringItem(item: Everywhere) ] @Binding var selection : StringItem? v
3
0
833