繁体   English   中英

如何检查UITextFields是否为空?

[英]How to check if UITextFields are empty?

我有一堆UITextFields,用户必须在按下提交按钮之前输入一个数字(键盘是数字键盘)。 当按下提交按钮时,调用“检查”方法,该方法想要检查数据是否有效...也称为空。 现在这很容易,如果它只是一个textField但我有14.我想要一个简单的if语句来检查其中一个字段或所有字段是否为空....

我有跟随UITextFields声明:number1,number2,number3等等,我有声明的后续字符串,它可以取UITextField.text的值...它们被声明:temp1,temp2,temp3等...

我将如何制作一个伪代码如果语句如下所示?

谢谢

 if (!valid)
 {

NSLog (@"not valid)
} 

 else
{
 //proceed to next method
}

我假设UITextField变量为* tfield,所以这里是解决方案

if (tfield.text.length > 0 || tfield.text != nil || ![tfield.text isEqual:@""])
{
   //do your work
}
else
{
   //through error
}

或者你可以打电话

[myTextField hasText];

如果字段为空,它将返回NO。

我觉得这样的事情就是你想要的。 它只是使用isEqualToString:来检查字符串是否为空。

NSString *temp1 = number1.text;
NSString *temp2 = number2.text;
... ///< temp3, etc

if ([temp1 isEqualToString:@""]) {
    // temp1 not valid
} else if ([temp2 isEqualToString:@""]) {
    // temp2 not valid
} ... {
    // temp3, etc
} else {
    // Valid
}

抓取temp1时可能需要修剪空白字符,以便@" "也为空。 为此,请查看NSStringstringByTrimmingCharactersInSet:方法,如下所示:

NSString *temp1 = [number1.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

更新:

如果你想用数组做,你可以做类似的事情:

NSMutableArray *array = [NSMutableArray arrayWithCapacity:0];
[array addObject:number1.text];
[array addObject:number2.text];
... ///< number3, etc

BOOL ok = YES;
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    if ([obj isEqualToString:@""]) {
        ok = NO;
        *stop = YES;
    }
}];

if (ok) {
    // Valid
} else {
    // Not valid
}

像这样的东西会迭代你的UITextFields:

[self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
  if ([obj isKindOfClass:[UITextField class]]) {
     // do your checks
  }
}];
you can put like this


    if(![temp1 isEqualToString:@""] && ![temp2 isEqualToString:@""] ... ![temp14 isEqualToString:@""])
    {
    NSLog (@" valid);
    }
    else
    {NSLog (@"not valid);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM