title: Clearing Binding text to textfield still shows text in textfield
body: <p>I have a textField and next to it a button that should clear the text. My problems is though that the TextField View only carries a binder. Hence the actual text in the textfield isn't deleted since Bindings doesn't reload views.</p>
  <p>I tried to narrow it down as much as possible in an example:</p>
  <pre><code> struct ContentView: View {
      
      @State var presentedView = false
      @State var text: String = &quot;&quot;
      
      var body: some View {
          Button(&quot;Hello, world!&quot;) { presentedView = true }
              .padding()
              .sheet(isPresented: $presentedView, content: {
                  SomeView(viewModel: .init(textBinder: $text), text: $text)
              })
      }
  }
  
  struct SomeView: View {
      
      let viewModel: ViewModel
      @Binding var text: String
      
      var body: some View {
          HStack {
              TextFieldTyped(text: $text)
              Spacer()
              Button(&quot;erase&quot;) {
                  $text.wrappedValue = &quot;&quot;
              }
          }
      }
      
      struct ViewModel {
          let textBinder: Binding&lt;String&gt;
      }
  }
  
  struct TextFieldTyped: UIViewRepresentable {
      @Binding var text: String
  
      func makeUIView(context: Context) -&gt; UITextField {
          let textField = UITextField(frame: .zero)
          textField.delegate = context.coordinator
          return textField
      }
  
      func updateUIView(_ uiView: UITextField, context: Context) {
          uiView.becomeFirstResponder()
      }
  
      func makeCoordinator() -&gt; Coordinator {
          Coordinator(self)
      }
  
      class Coordinator: NSObject, UITextFieldDelegate {
          var parent: TextFieldTyped
  
          init(_ textField: TextFieldTyped) {
              self.parent = textField
          }
          
          func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -&gt; Bool {
              if (textField.text?.count ?? 0) == 1, string.isEmpty {
                  parent.text = string
              } else if string.isEmpty, !(textField.text ?? &quot;&quot;).isEmpty {
                  parent.text = String(textField.text?.dropLast() ?? &quot;&quot;)
              } else {
                  parent.text = (textField.text ?? &quot;&quot;).isEmpty ? string : (textField.text ?? &quot;&quot;) + string
              }
              return true
          }
      }
  }
  </code></pre>