title: Picker for optional data type in SwiftUI?
body: <p>Normally I can display a list of items like this in SwiftUI:</p>
  
  <pre><code>enum Fruit {
      case apple
      case orange
      case banana
  }
  
  struct FruitView: View {
  
      @State private var fruit = Fruit.apple
  
      var body: some View {
          Picker(selection: $fruit, label: Text("Fruit")) {
              ForEach(Fruit.allCases) { fruit in
                  Text(fruit.rawValue).tag(fruit)
              }
          }
      }
  }
  </code></pre>
  
  <p>This works perfectly, allowing me to select whichever fruit I want. If I want to switch <code>fruit</code> to be nullable (aka an optional), though, it causes problems:</p>
  
  <pre><code>struct FruitView: View {
  
      @State private var fruit: Fruit?
  
      var body: some View {
          Picker(selection: $fruit, label: Text("Fruit")) {
              ForEach(Fruit.allCases) { fruit in
                  Text(fruit.rawValue).tag(fruit)
              }
          }
      }
  }
  </code></pre>
  
  <p>The selected fruit name is no longer displayed on the first screen, and no matter what selection item I choose, it doesn't update the fruit value.</p>
  
  <p>How do I use Picker with an optional type?</p>