2012-10-16 31 views
0

我正在存储来自用户的常规NSStrings中的网站地址。
一些被命名为“www.somewebsite.com”,一些被命名为“http://somewebsiteothersite.org”。需要一种方法来正确构建NSURL

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

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

但是,什么情况是,如果省略http://,在一个UIWebView将无法打开网页。

是否有下降的方式来正确构建UIURView的NSURL?

谢谢!

回答

1

只要添加http://如果它不在那里?

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

提防那些打算没有http://例如ftp://mailto:

0

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

//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]; 
相关问题