如果声明,隐藏按钮

时间:2014-08-22 18:59:03

标签: objective-c cocoa-touch if-statement ios7 nsurl

我正在尝试为字典中包含的特定网址评估字符串,然后隐藏右边栏按钮,如果该网址是当前包含在" 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];

2 个答案:

答案 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]将两个值作为字符串进行比较