我有一堆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
}
答案 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.
}