检查UIWebView的URL

时间:2013-05-23 03:29:04

标签: ios objective-c url uiwebview

因此,只有当我的UIWebView当前位于特定网址时,我才会隐藏图片。例如,如果我的UIWebView中当前显示“example1.com/cheese”,那么我将隐藏图像。我不知道如何检查是否加载了特定的URL。我正在尝试这个:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request {

    NSString *host = [request.URL host];

    if ([host != isEqualToString:@"example1.com/cheese"]) {
        image.hidden = NO;
    }
    else
        image.hidden = YES;
}

我的问题在于我的if声明。我不确定如何做“不等于这个URL”。有谁知道我需要更改或添加来解决这个问题?

更新:这是我正在使用的代码,出现的错误是Use of undeclared identifier, host.

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request {
    if (![host isEqualToString:@"exampleURL.com/cheese"]) {
        image.hidden = NO;
    } else {
        image.hidden = YES;
    }
}

1 个答案:

答案 0 :(得分:2)

这是基本的Objective-C(真正的C)语法:

if (![host isEqualToString:@"someURL"]) {
    // doesn't match
} else {
    // does match
}

!表示“不是”。它否定了表达的结果。由于isEqualToString:如果两个字符串相等则返回YES!将其否定为NO。如果两个字符串不相等,则NO结果将被否定为YES

你也可以这样做:

// Hide image if host matches "someURL"
image.hidden = [host isEqualToString:@"someURL"];