【问题标题】:How to check whether the UITextfield is empty string如何检查 UITextfield 是否为空字符串
【发布时间】:2015-10-29 21:02:45
【问题描述】:

我正在尝试为应用构建登录页面。测试登录条件时出现问题。 有两个文本字段,usernamepassword。单击登录按钮时,警报会在

时显示

1) 任一字段为空 2) 两个都填满。

代码反映了这一点。但是无论文本字段是否为空,结果都会出现,它仅显示为文本字段已填充(仅运行 else 部分)。所以我认为 if 条件有问题。但是当我在其他视图中检查 if 条件时,它起作用了。

谁能帮忙?

if ([_pLoginIDField.text isEqualToString:@""] || [_pPasswordField.text isEqualToString:@""]) {

    UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"Yeah !" message:@"must complete all fields" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [error show];
}
else {
    UIAlertView *error2 = [[UIAlertView alloc] initWithTitle:@"Oooops !" message:@"hhhhhhhhhh" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [error2 show];
}

【问题讨论】:

  • 如果你在if之前同时NSLogUITextView.text,结果是什么?

标签: ios objective-c cocoa-touch uitextfield


【解决方案1】:

试试这个:

if (_pLoginIDField.text.length > 0 || _pPasswordField.text.length > 0)

【讨论】:

  • > 0 甚至都不是必需的。你可以做if (_pLoginIDField.text.length || _pPasswordField.text.length)
  • 感谢您的帮助!!我试过 // if (_pLoginIDField.text.length == 0 || _pPasswordField.text.length == 0) // 并且 if 条件有效。这里又来了一个问题。我在上面的问题中测试 if 条件,是测试 textfield.text 是否与键中保存的数据相同。我使用 NSUserDefaults 来设置和保存用户名和密码。但是当尝试 [_pLoginID.text isEqualToString:[defaults objectForKey:@"username"] && [_pPassword.text isEqualToString:[defaults objectForKey:@"password"] 时,它不起作用。有什么建议吗?
【解决方案2】:

NSString *text = [NSString stringWithString: nameUITextField.text];

if(text.length == 0){

}

【讨论】:

    【解决方案3】:

    你可以试试这个,

    你可以计算字符串中有多少个字符,它是间接检查为null。

    NSString *inputString = [NSString stringWithString: nameUITextField.text];
    
    if(inputString.charachters.count == 0){
       // inputString is Blank 
       // Do your stuff
    
     }else{
    
     //inputString is not blank, Do other Stuff.
     }
    

    如果inputString为空则满足上述条件,否则进入else块。

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 2012-03-23
      • 2015-06-12
      • 2013-03-07
      • 1970-01-01
      相关资源
      最近更新 更多