title: Using `textField:shouldChangeCharactersInRange:`, how do I get the text including the current typed character?
body: <p>I'm using the code below to try and have <code>textField2</code>'s text content get updated to match <code>textField1</code>'s whenever the user types in <code>textField1</code>.</p>
  
  <pre><code>- (BOOL) textField: (UITextField *)theTextField shouldChangeCharactersInRange: (NSRange)range replacementString: (NSString *)string {    
    if (theTextField == textField1){    
       [textField2 setText:[textField1 text]];    
    }
  }
  </code></pre>
  
  <p>However, the output I observe is that...</p>
  
  <blockquote>
    <p>textField2 is "12", when textField1 is "123"</p>
    
    <p>textField2 is "123", when textField1 is "1234"</p>
  </blockquote>
  
  <p>... when what I want is:</p>
  
  <blockquote>
    <p>textField2 is "123", when textField1 is "123"</p>
    
    <p>textField2 is "1234", when textField1 is "1234"</p>
  </blockquote>
  
  <p>What am I doing wrong?</p>