我正在尝试为字典中包含的特定网址评估字符串,然后隐藏右边栏按钮,如果该网址是当前包含在" url"变量。使用NSLogs,我发现有问题的url字符串被加载到" url",但if语句永远不会发生。我是一个新手,并希望得到一些关于如何适当地构建这个的反馈。万分感谢!
NSURL *url = [NSURL URLWithString:[self.webViewDict valueForKey:@"Url"]];
NSLog(@"%@",url);
if ([url isEqual:@"URLGOESHERE"]){
NSLog(@"If statement called");
[self.navigationItem.rightBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor clearColor]}
forState:UIControlStateDisabled];
self.navigationItem.rightBarButtonItem.enabled = NO;
}
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_webView loadRequest:request];
答案 0 :(得分:3)
问题是您要将NSURL
对象与NSString
对象进行比较。当然,他们永远不会平等。你需要做这样的事情:
if([[url absoluteString] isEqualToString:@"http://gacc.nifc.gov/rmcc/predictive/outlook/Rocky_Mountain_Area_Outlook2014.pdf"])
{
// equal!
}
答案 1 :(得分:2)
您正在将NSURL与NSString进行比较......
这一行:
if ([url isEqual:@"URLGOESHERE"])
您应该使用[url absoluteString]将两个值作为字符串进行比较