gpt4 book ai didi

objective-c - 动态创建的文本字段验证

转载 作者:行者123 更新时间:2023-11-29 13:39:23 25 4
gpt4 key购买 nike

我正在尝试验证动态创建的文本字段。文本字段的总数可能会有所不同。这个想法是用像玩家 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,但第三个字段未填充。我还注意到,如果我在第二个字段中键入文本,请说触摸按钮然后删除文本并再次触摸该字段未填充文本播放器 X 的按钮。

如何让所有这些东西正常工作?

最佳答案

像这样更改两行代码:

 while (self.howManyPlayers >= 1) //edited line
{

UITextField *tmp = (UITextField *) [self.view viewWithTag:self.howManyPlayers];

if (tmp.text == nil)
{
[tmp setText:[NSString stringWithFormat:@"Player %d", emptyFieldCounter]];
emptyFieldCounter++;
}
[playersNames addObject:tmp.text];
self.howManyPlayers--; // moved line
}

我忘记了你的第二个问题,所以编辑了我的答案。为此尝试。将 if (tmp.text == nil) 更改为 if (tmp.text == nil || [tmp.txt isEqualToString:@""])

关于objective-c - 动态创建的文本字段验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9602510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com