[英]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
時可能需要修剪空白字符,以便@" "
也為空。 為此,請查看NSString
的stringByTrimmingCharactersInSet:
方法,如下所示:
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.