0

UIWebViewそのため、現在特定の URL にある場合にのみ非表示にしたい画像があります。たとえば、「example1.com/cheese」が現在 my に表示されていたUIWebView場合、画像を非表示にします。ただし、特定の 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;
    }
}
4

1 に答える 1

2

これは基本的な Objective-C (実際には C) の構文です。

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

!は「ない」という意味です。式の結果を否定します。2 つの文字列が等しい場合は をisEqualToString:返すため、 はそれを に否定します。2 つの文字列が等しくない場合、結果は に否定されます。YES!NONOYES

これを行うこともできます:

// Hide image if host matches "someURL"
image.hidden = [host isEqualToString:@"someURL"];
于 2013-05-23T03:31:18.960 に答える