Используйте свойство тега в Интерфейсном Разработчике, чтобы идентифицировать ваши объекты представления в вашем приложении во время выполнения.Это сделает жизнь намного проще, особенно когда вы будете готовы локализовать ваше приложение для разных языков.
![Screenshot of the tab property in IB](https://i.stack.imgur.com/69Xn3.png)
В вашем заголовочном файле для контроллера представления
#define kUsernameField 100
#define kPasswordField 101
#define kStartButton 300
В файле реализации контроллера представления
- (void)textFieldDidBeginEditing:(UITextField *)textField {
switch (textField.tag) {
case kUsernameField:
// do user name stuff
break;
case kPasswordField:
// do password stuff
break;
default:
NSLog(@"No case statement for %@", [textField description]);
break;
}
}
Вы найдете множество учебников, которые используют поле заголовка UIButton для их идентификации.Например:
- (IBAction)buttonTouchUp:(id)sender {
UIButton *button = (UIButton *)sender;
// don't like
if ([button.currentTitle isEqualToString:@"Start"] == NSOrderedSame) {
// because if localize your for other language then you will have
// include code for those other language
// French: Démarrer
// Spanish: Inicio
// blah blah blah
}
// better
if (button.tag == kStartButton) {
// very simple, no code changes for localization
// blah blah blah
}
}
Если вы создаете объект с кодом, вы можете установить тег:
button.tag = kStartButton;
// or
[button setTag:kStartButton];