UITextField наследуется от UIControl, поэтому вы можете использовать механизм целевого действия, являющийся частью класса UIControl:
[textField addTarget:self action:@selector(updateTextField) forControlEvents:UIControlEventValueChanged];
В методе действия вы можете заменить текст UITextField только последним символом и зарегистрировать этот символ в консоли. Обратите внимание, что поскольку изменение текста UITextField снова приведет к тому, что сообщение «updateTextField» будет отправлено во второй раз цели, вам потребуется какой-то механизм для определения, обновлять или нет:
- (void)updateTextField {
if(updateTextField == YES) {
updateTextField = NO;
NSString *lastChar = [textField.text substringFromIndex:[textField.text length]];
[textField setText:lastChar];
NSLog(@"%@", lastChar);
} else {
updateTextField = YES;
}
}
Или как-то так ...