title: SwiftUI Programmatically Select List Item
body: <p>I have a SwiftUI app with a basic List/Detail structure. A new item is created from
  a modal sheet. When I create a new item and save it I want THAT list item to be
  selected. As it is, if no item is selected before an add, no item is selected after
  an add. If an item is selected before an add, that same item is selected after the
  add.</p>
  
  <p>I'll include code for the ContentView, but this is really the simplest example of 
  List/Detail.</p>
  
  <pre><code>struct ContentView: View {
  
      @ObservedObject var resortStore = ResortStore()
      @State private var addNewResort = false
      @State private var coverDeletedDetail = false
  
      @Environment(\.presentationMode) var presentationMode
  
      var body: some View {
  
          List {
              ForEach(resortStore.resorts) { resort in
                  NavigationLink(destination: ResortView(resort: resort)) {
  
                      HStack(spacing: 20) {
                          Image("FlatheadLake1")
                          //bunch of modifiers
  
                          VStack(alignment: .leading, spacing: 10) {
                          //the cell contents
                          }
                      }
                  }
              }
              .onDelete { indexSet in
                  self.removeItems(at: [indexSet.first!])
                  self.coverDeletedDetail.toggle()
              }
  
              if UIDevice.current.userInterfaceIdiom == .pad {
                  NavigationLink(destination: WelcomeView(), isActive: self.$coverDeletedDetail) {
                      Text("")
                  }
              }
          }//list
          .onAppear(perform: self.selectARow)
          .navigationBarTitle("Resorts")
          .navigationBarItems(leading:
          //buttons
  
      }//body
  
      func removeItems(at offsets: IndexSet) {
          resortStore.resorts.remove(atOffsets: offsets)
      }
  
      func selectARow() {
      //nothing that I have tried works here
          print("selectARow")
      }
  }//struct
  </code></pre>
  
  <p>And again - the add item modal is extremely basic:</p>
  
  <pre><code>struct AddNewResort: View {
  //bunch of properties
  
      var body: some View {
          VStack {
              Text("Add a Resort")
              VStack {
                  TextField("Enter a name", text: $resortName)
                  //the rest of the fields
              }
              .textFieldStyle(RoundedBorderTextFieldStyle())
              .padding(EdgeInsets(top: 20, leading: 30, bottom: 20, trailing: 30))
  
              Button(action: {
                  let newResort = Resort(id: UUID(), name: self.resortName, country: self.resortCountry, description: self.resortDescription, imageCredit: "Credit", price: Int(self.resortPriceString) ?? 0, size: Int(self.resortSizeString) ?? 0, snowDepth: 20, elevation: 3000, runs: 40, facilities: ["bar", "garage"])
                  self.resortStore.resorts.append(newResort)
                  self.presentationMode.wrappedValue.dismiss()
              }) {
                  Text("Save Trip")
              }
              .padding(.trailing, 20)
  
          }
      }
  }
  </code></pre>
  
  <p>To show the issue - The list with a selection:</p>
  
  <p><a href="https://i.stack.imgur.com/V1Moj.png" rel="noreferrer"><img src="https://i.stack.imgur.com/V1Moj.png" alt="enter image description here"></a></p>
  
  <p>The list after a new item created showing the previous selection:</p>
  
  <p><a href="https://i.stack.imgur.com/vtHn5.png" rel="noreferrer"><img src="https://i.stack.imgur.com/vtHn5.png" alt="enter image description here"></a></p>
  
  <p>Any guidance would be appreciated. Xcode 11.4   </p>