I\'m using the code below to try and have textField2\'s text content get updated to match textField1\'s whenever the user types in textField1
textField2
textField1
-shouldChangeCharactersInRange gets called before text field actually changes its text, that's why you're getting old text value. To get the text after update use:
-shouldChangeCharactersInRange
[textField2 setText:[textField1.text stringByReplacingCharactersInRange:range withString:string]];