Я пытаюсь проверить динамически созданные текстовые поля. Общее количество текстовых полей может отличаться.
Идея состоит в том, чтобы заполнить пустые поля строкой, такой как игрок 1, игрок 2 и т. Д. Вот что я пытаюсь
-(IBAction)validateTextFields:sender
{
self.howManyPlayers = 3;
int emptyFieldCounter = 1;
NSMutableArray *playersNames = [NSMutableArray arrayWithCapacity:self.howManyPlayers];
while (self.howManyPlayers > 1)
{
self.howManyPlayers--;
UITextField *tmp = (UITextField *) [self.view viewWithTag:self.howManyPlayers];
if (tmp.text == nil)
{
[tmp setText:[NSString stringWithFormat:@"Player %d", emptyFieldCounter]];
emptyFieldCounter++;
}
[playersNames addObject:tmp.text];
}
}
Проблема в том, что если я коснусь кнопки, которая вызывает метод validateTextFields. Первое и второе текстовые поля заполняются текстом Player 1 и Player 2, но третье поле не заполняется.
Я также замечаю, что если я набираю текст, скажем, во втором поле нажмите кнопку, затем удалите текст и снова нажмите кнопку, чтобы поле не заполнялось текстом Player X.
Как заставить все это работать правильно?