簡體   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