title: How to edit an item in a list using NavigationLink?
body: <p>I am looking for some guidance with SwiftUI please.</p>
  
  <p>I have a view showing a simple list with each row displaying a "name" string.  You can add items to the array/list by clicking on the trailing navigation bar button. This works fine.  I would now like to use NavigationLink to present a new "DetailView" in which I can edit the row's "name" string. I'm struggling with how to use a binding in the detailview to update the name. </p>
  
  <p>I've found plenty of tutorials online on how to present data in the new view, but nothing on how to edit the data.
  Thanks in advance.</p>
  
  <p>ContentView:</p>
  
  <pre><code>struct ListItem: Identifiable {
      let id = UUID()
      let name: String
  }
  
  class MyListClass: ObservableObject {
      @Published var items = [ListItem]()
  }
  
  struct ContentView: View {
  
      @ObservedObject var myList = MyListClass()
  
      var body: some View {
          NavigationView {
              List {
                  ForEach(myList.items) { item in
                      NavigationLink(destination: DetailView(item: item)) {
                          Text(item.name)
                      }
                  }
              }
              .navigationBarItems(trailing:
                  Button(action: {
                      let item = ListItem(name: "Test")
                      self.myList.items.append(item)
                  }) {
                      Image(systemName: "plus")
                  }
              )
          }
      }
  }
  </code></pre>
  
  <p>DetailView</p>
  
  <pre><code>struct DetailView: View {
  
      var item: ListItem
  
      var body: some View {
          TextField("", text: item.name)
      }
  }
  </code></pre>