【发布时间】:2013-08-30 20:02:48
【问题描述】:
我有一个 UITextField,我试图将它与类中的字符串密码进行比较。当密码为零时会出现问题。根据调试器,一个空的UITextField 返回@"",所以我尝试了一种基于长度的方法。
NSString *pw;
if([[alertView textFieldAtIndex:1].text length] > 0)
pw = room.password;
if([pw isEqualToString:room.password])
//do some code
但这仍然不适用于 nil 密码...我什至使用调试器验证了 pw 和 room.password 都是 nil(见下文)...这是怎么回事?
【问题讨论】:
-
那么你想验证两者都是 nil 还是不是 nil?我不确定你在问什么。你说它不能使用 nil 密码,然后你继续说你已经验证了两个文本字段都是 nil。
-
if比较pw和room.password的语句在nil时没有触发,我不明白为什么。 -
因为 if 语句返回 false,因此不执行语句中的代码。你想要的结果是什么?输入是什么?您是否正在检查用户是否输入了文本?
-
对...但是为什么返回错误?根据调试器
pw和room.password都等于nil,它不应该返回true吗? -
不,如果你想让它返回 true,你必须询问 textField.text == nil
标签: iphone ios objective-c xcode cocoa-touch