如何检查UITextFields是否为空?

Ted*_*y13 10 xcode objective-c ios

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

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

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

谢谢

 if (!valid)
 {

NSLog (@"not valid)
} 

 else
{
 //proceed to next method
}
Run Code Online (Sandbox Code Playgroud)

Ass*_*lah 27

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

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


Ami*_*irZ 9

或者你可以打电话

[myTextField hasText];
Run Code Online (Sandbox Code Playgroud)

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


mat*_*way 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
}
Run Code Online (Sandbox Code Playgroud)

您可能希望在抓取时修剪空白字符temp1,@" "这样也是空白的.为此,看看这样NSStringstringByTrimmingCharactersInSet:方法:

NSString *temp1 = [number1.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
Run Code Online (Sandbox Code Playgroud)

更新:

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

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
}
Run Code Online (Sandbox Code Playgroud)