что вы пытаетесь достичь? textFieldDidBeginEditing
передается каждый раз, когда пользователь выбирает текстовое поле. Если вы пытаетесь обновить метку или что-то еще, когда пользователь вносит изменения, вам нужно настроить наблюдателя с NSNotificationCenter
и следить за уведомлением, которое выдается всякий раз, когда это происходит. наблюдатель, как только вы закончите с этим
например:
#pragma mark
#pragma mark -
#pragma mark Notification Observers
- (void)addObservers {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldDidChange:) name:@"UITextFieldTextDidChangeNotification" object:nil];
}
- (void)removeObservers {
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"UITextFieldTextDidChangeNotification" object:nil];
}
если вам нужно следить за несколькими текстовыми полями, сделайте что-то вроде этого для вашего селектора:
- (void)textFieldDidChange:(NSNotification*)aNotification {
UITextField *textField = (UITextField *)[aNotification object];
if([textField isEqual:usernameTextField])
{
[user setUsername:usernameTextField.text];
}
else if([textField isEqual:phoneNumberTextField])
{
[user setPhoneNumber:phoneNumberTextField.text];
}
}