我有这个简单的if语句,检查UItextfields是否为空或不像这样:
if([UserID.text isEqualToString:@""] || [UserPass.text isEqualToString:@""]){
UIAlertView *alertsuccess = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Fields can not be empty." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alertsuccess show];
[alertsuccess release];
}
这是问题,第一次进入视图时有这些UItextfields。我像这样测试
现在有趣的部分在这里,如果我在测试期间不退出视图。我检查UserID不是空的& UserPass再次为空(上面的测试#2),然后of语句正常工作。 如果我在测试期间退出视图,那么if语句再次变得怪异。
任何人都可以帮我指出我在这里做错了什么吗? 非常感谢你
答案 0 :(得分:1)
尝试使用:if([UserID.text length]> 0]){
答案 1 :(得分:1)
听起来像UserPass(或UserPass.text)没有设置为您认为的;它可以设置为nil,这会使isEqualToString总是返回false。如果你偶尔没有让它工作,我会说有一个断开连接的插座。
答案 2 :(得分:0)
有线。您是否检查过您的UserID和UserPass是否被定义为IBOutlet并在IB中连接?
答案 3 :(得分:0)
尝试NSLog(“bool值:%d”,[UserID.text isEqualToString:@“”] || [UserPass.text isEqualToString:@“”]);在评估IF语句以查看布尔值之前。