Iphone 是否使用for循环清除所有文本字段?

Iphone 是否使用for循环清除所有文本字段?,iphone,objective-c,Iphone,Objective C,我用过: IBOutlet UITextField *text1, *text2; 用于引用我的文本字段 我使用以下方法清除每个选项: [text1 setText:@""]; [text2 setText:@""]; 如果我想使用for循环一次性清除所有内容,我应该如何编写代码?您应该为每个文本字段分配标记(比如1,2) 那么您的代码应该如下所示: for(int i=1; i<=2;i++) { UITextField *tf=(UITextField *)[self.vi

我用过:

IBOutlet UITextField *text1, *text2;
用于引用我的文本字段

我使用以下方法清除每个选项:

[text1 setText:@""];
[text2 setText:@""];

如果我想使用for循环一次性清除所有内容,我应该如何编写代码?

您应该为每个文本字段分配标记(比如1,2)

那么您的代码应该如下所示:

for(int i=1; i<=2;i++)
{
    UITextField *tf=(UITextField *)[self.view viewWithTag:i];
    [tf setText:@""];
}

for(inti=1;i您应该为每个文本字段分配标记(比如1,2)

那么您的代码应该如下所示:

for(int i=1; i<=2;i++)
{
    UITextField *tf=(UITextField *)[self.view viewWithTag:i];
    [tf setText:@""];
}

for(int i=1;i如果要对文本字段使用属性,可以执行以下操作:

for (int textFieldIndex = 0; textFieldIndex < textFieldCount; textFieldIndex++)
{
    NSString *textFieldName = [NSString stringWithFormat:@"text%i", textFieldIndex];
    UITextField *textField = [self performSelector(NSSelectorWithString(textFieldName))];
    [textField setText:@""];
}

您可以将ivar命名为
text1
,只需使用
@synthetic text1;
我使用前缀以避免意外重写方法中的实例ivar。此外,您可能希望使用
保留
而不是
分配

,如果要为文本字段使用属性,则可以执行以下操作:

for (int textFieldIndex = 0; textFieldIndex < textFieldCount; textFieldIndex++)
{
    NSString *textFieldName = [NSString stringWithFormat:@"text%i", textFieldIndex];
    UITextField *textField = [self performSelector(NSSelectorWithString(textFieldName))];
    [textField setText:@""];
}
for (UIView *aSubview in self.subviews) {
    if ([aSubview isKindOfClass:[UITextField class]]) 
        [(UITextField *)aSubview setText:nil];
}
您可以将ivar命名为
text1
,只需使用
@synthetic text1;
我使用前缀以避免意外重写方法中的实例ivar。此外,您可能希望使用
保留
而不是
分配头:

for (UIView *aSubview in self.subviews) {
    if ([aSubview isKindOfClass:[UITextField class]]) 
        [(UITextField *)aSubview setText:nil];
}
IBOutlet UITextField *text1, *text2;
NSArray *textFields;
初始化:

textFields = [NSArray arrayWithObjects: text1, text2, nil];
设置空文本:

for(UITextField *text in textFields) {
  [text setText: @""];
}
标题:

IBOutlet UITextField *text1, *text2;
NSArray *textFields;
初始化:

textFields = [NSArray arrayWithObjects: text1, text2, nil];
设置空文本:

for(UITextField *text in textFields) {
  [text setText: @""];
}

谢谢金奥布里斯和马塞洛·坎托斯。我认为你是stackoverflow的新手……如果你认为答案正确,意味着你应该点击答案左侧的灰色勾号……你只能接受1个回答谢谢金奥布里斯和马塞洛·坎托斯。我认为你是stackoverflow的新手……如果你认为答案正确,意味着你应该点击灰色的勾号ck mark给出答案的左侧。你只能接受你代码中的一个小改动…对于文本字段中的((UITextField*)文本)谢谢,我从头开始写:)你代码中的一个小改动…对于文本字段中的((UITextField*)文本)谢谢,我从头开始写:)