0

我将用户的网站地址存储在常规 NSString 中。
有些是“www.somewebsite.com”,有些是“http://somewebsiteothersite.org”。

我的应用程序应该打开一个 UIWebView 并打开该网页:

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:[NSURL URLWithString:[self websiteString]]];
    NSLog(@"visiting: %@",websiteString);
    [webView loadRequest:requestObj];

但是会发生的是,如果http://省略 , UIWebView 将不会打开页面。

是否有一种下降方式可以为 UIWebView 正确构建 NSURL?

谢谢!

4

2 回答 2

1

http://如果没有就添加?

if (![urlStr hasPrefix:@"http://"] && ![urlStr hasPrefix:@"https://"]) {
    urlStr = [@"http://" stringByAppendingString:urlStr];
}

提防那些打算没有的链接,http://例如ftp://mailto:

于 2012-10-16T13:38:28.160 回答
0

我知道 Mathias 回答得更快,但我想分享一个类似的解决方案

//first detect if your string has contains http:// if not add http:// to your string
    NSMutableString *websiteString = @"www.x.com";
    if ([websiteString rangeOfString:@"http://"].location == NSNotFound) {
        NSLog(@"contains http:// == false");
        websiteString = [@"http://" stringByAppendingString:websiteString];

    } else {
        NSLog(@"contains http:// == true");

    }

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:[NSURL URLWithString:[self websiteString]]];
    NSLog(@"visiting: %@",websiteString);
    [webView loadRequest:requestObj];
于 2012-10-16T13:50:58.320 回答