如何检查UITextFields是否为空?

时间:2012-01-26 09:20:33

标签: objective-c ios xcode

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

我声明了以下UITextField:number1,number2,number3等 并且我声明了后面的字符串,它可以获取UITextField.text的值...它们被声明:temp1,temp2,temp3等......

我将如何制作一个伪代码if if下面的语句?

由于

 if (!valid)
 {

NSLog (@"not valid)
} 

 else
{
 //proceed to next method
}

6 个答案:

答案 0 :(得分:27)

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

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

答案 1 :(得分:7)

我觉得这样的事情就是你想要的。它只是使用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时修剪空白字符,以便@" "也为空。为此,请查看NSString的{​​{1}}方法,如下所示:

stringByTrimmingCharactersInSet:

<强>更新

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

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

答案 2 :(得分:7)

或者你可以打电话

[myTextField hasText];
如果字段为空,

将返回NO。

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

you can put like this


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

答案 5 :(得分:0)

在Swift中,

您可以使用此代码块。

if textField.text?.isEmpty {

  //Return true if the textfield is empty or false if it's not empty.

}