升级sdk后代码更改行为?

时间:2013-10-07 14:58:08

标签: ios objective-c ios7

我正在尝试针对iOs 7优化我的应用,但仍然针对iOS 6。

我有2个文本字段用于验证电子邮件输入,但它失败了。

我这样做了:

    if ([email.text isEqualToString:confirm_email.text]) {
    //process
    }
    else{
    //display mismatch error
   UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"Email mismatch"
                                                         message:@"Your email does not match the confirmation!"
                                                        delegate:self
                                               cancelButtonTitle:@"OK"
                                               otherButtonTitles:nil, nil];
    [alertView show];
    }

现在它在iOS 6中不起作用,但只在iOS 7中起作用,它显示错误。 我没有真正触摸代码,我不知道为什么行为会改变。

1 个答案:

答案 0 :(得分:3)

如果UITextField没有任何用户文字,则会在iOS 7上返回nil,但在iOS 6上返回空字符串(@"")。您看到的行为是:因为[email.text isEqualToString:confirm_email.text]中的任何一个文字字段都是nil,它总是会评估为NO