1

我正在尝试针对 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 中不起作用,它会显示错误。我并没有真正接触过代码,我不确定为什么行为会改变。

4

1 回答 1

3

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

于 2013-10-07T15:12:39.343 回答