【发布时间】:2010-08-01 16:26:57
【问题描述】:
如果我想检查UITextField或NSString是否为空,我可以将其与NULL或nil进行比较吗?
【问题讨论】:
标签: iphone objective-c cocoa-touch uitextfield
如果我想检查UITextField或NSString是否为空,我可以将其与NULL或nil进行比较吗?
【问题讨论】:
标签: iphone objective-c cocoa-touch uitextfield
您建议的方法都不是万无一失的。最好的测试是:
if ([myTextField.text length] > 0) ...
或
if ([myString length] > 0) ...
【讨论】:
如果我想检查文本字段或字符串是否为空,我将其与 NULL 或 nil 进行比较?
没有。
空字符串对象(不包含字符的字符串对象)或包含空字符串对象的文本字段对象与nil 不同,后者根本不是对象。您需要询问(文本字段的)字符串how long it is,或者询问whether it is equal to 一个您手头上的空字符串(@"")。
NULL,虽然也是一个空指针,但应该用于通用指针,而不是指向 Objective-C 实例的指针(您有更具体的nil)或类(您有更具体的@ 987654327@).
【讨论】:
我遇到了类似的问题,但除此之外没有其他方法对我有用:
NSString *string = textfield.text;
if ([string isEqualToString:@""]) {
....
}
【讨论】: