如果UITextField或NSString为空

时间:2010-08-01 16:26:58

标签: iphone objective-c cocoa-touch uitextfield

如果我想检查UITextFieldNSString是否为空,我可以将其与NULLnil进行比较吗?

3 个答案:

答案 0 :(得分:4)

你建议的方法都不是万无一失的。最好的测试是:

if ([myTextField.text length] > 0) ...

  if ([myString length] > 0) ...

答案 1 :(得分:4)

  

如果我想检查textfield或string是否为空,我将其与NULL或nil进行比较?

没有

空字符串对象(不包含字符的字符串对象)或包含空字符串对象的文本字段对象与nil不同,后者根本不是对象。您需要询问(文本字段)字符串how long it is,或者询问whether it is equal to您手头的空字符串(@"")。

NULL,同时也是一个空指针,应该用于一般指针,而不是指向Objective-C实例(你有更具体的nil)或类(你有它们)的指针更具体的Nil)。

答案 2 :(得分:3)

我遇到了类似的问题,但除此之外没有任何其他方法适用于我:

NSString *string = textfield.text;
if ([string isEqualToString:@""]) {
    ....
}