2012-10-16 56 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]; 
相關問題