2015-07-12 93 views
1

當我在UITableView中選擇了一個單元格時,我將self.itemURL設置爲該單元格的相應URL,然後延續至WebViewController並加載該URL。在WebView中加載url時獲取NSURLErrorUnsupportedURL(錯誤代碼-1002)

下面是當細胞被竊聽出現這種情況的邏輯:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (_matchCenterDone == YES) { 
     self.itemURL = _matchCenterArray[indexPath.section][@"Top 3"][indexPath.row+1][@"Item URL"]; 
     NSLog(@"The URL IS:'%@", self.itemURL); 
     [self performSegueWithIdentifier:@"WebViewSegue" sender:self]; 
    } 
} 

的的NSLog打印出The URL IS:'http://www.ebay.com/itm/NEW-Sony-XPERIA-Z3-Compact-D5803-FACTORY-UNLOCKED-/131554310432?pt=LH_DefaultDomain_0,它告訴我,self.itemURL確實在事實上是存在的,而且是一個格式正確的URL。

之前我原因請看WebViewController,我這樣做:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"WebViewS egue"]){ 
     // Opens item in browser 
     WebViewController *controller = (WebViewController *) segue.destinationViewController; 
     controller.itemURL = self.itemURL; 
    } 
} 

這裏的WebViewController小號viewDidLoad功能是什麼樣子:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSLog(@"The url in webview is: '%@'", self.itemURL); 

    // Initialize UIWebView 
    self.myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 60, self.view.frame.size.width, 
                   self.view.frame.size.height)];; 
    self.myWebView.delegate = self; 
    [self.view addSubview:self.myWebView]; 


    // set the url 
    NSURL *url = [NSURL URLWithString:self.itemURL]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    NSOperationQueue *queue = [[NSOperationQueue alloc] init]; 

    // make url request 
    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) 
    { 
     if ([data length] > 0 && error == nil) { 
      [self.myWebView loadRequest:request]; 
      [activityIndicator stopAnimating]; 
     } 
     else if (error != nil) NSLog(@"Error: %@", error); 
    }]; 

    [self.myWebView setScalesPageToFit:YES]; 
} 

的NSLog的上述註銷The url in webview is: '(null)'和控制檯註銷錯誤說明Error: Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0x7fcbfa5e7f10 {NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x7fcbfa64bec0 "unsupported URL"}

我的初始視圖控制器和d WebViewController那是因爲self.itemURL變爲null,因此無法加載url?

+1

你有'WebViewController'中的拼寫錯誤...'WebViewS egue' –

回答

1

有沒有在你的prepareForSegue:方法在賽格瑞標識字符串空格:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"WebViewS egue"]){ 
               //^space here 
     // Opens item in browser 
     WebViewController *controller = (WebViewController *) segue.destinationViewController; 
     controller.itemURL = self.itemURL; 
    } 
} 

segueing到WebViewController的實例,但其itemURL屬性沒有被設置,因爲在if語句代碼沒有被執行。

拿出空間,它應該工作。

+1

哦jeez ...其中一個錯誤哈哈。謝謝! – TheDudeGuy

相關問題