我有一个在iOS8上运行的应用程序。在这个应用程序中,我使用UITextField,其中包含一个URL。我想验证那个字段。
例如:如果用户输入了错误的网址,那么" abckmlo"它不应该允许输入,应该通知用户。
以下代码:
-(BOOL) validateUrl: (NSString *)url
{
NSString *urlRegEx =@"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
if ([urlTest evaluateWithObject: url] == YES)
{
NSLog(@"URL is valid!");
}
else
{
NSLog(@"URL is not valid!");
}
return [urlTest evaluateWithObject:candidate];
}
当我执行上面的代码时,它总是进入else块。造成这种情况的原因是什么?