2016-06-29 4 views
0

Ich bin neu in Objective-C.Web View funktioniert nicht in iOS

Ich habe eine Tabellenansicht mit Links gefüllt, die der Benutzer hinzugefügt hat. Wenn der Benutzer auf eine der Zellen in der Tabellenansicht klickt, werden sie zu einem zweiten Ansichtscontroller mit einer Webansicht geführt, die die Website des Links anzeigt. Wenn ich die App starte, erscheint die Webansicht jedoch leer. Wie behebe ich dieses Problem? Es sind auch keine Fehler in der Konsole bemerkt.

Tabellenansicht .m

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([[segue identifier] isEqualToString:@"showWebsite"]) { 
     UITableViewCell *cell = (UITableViewCell*)sender; 
     NSURL *url = [NSURL URLWithString:cell.textLabel.text]; 
     NSString *string = url.absoluteString; 
     SecondViewController *vc = [segue destinationViewController]; 
     vc.url = string; 
    } 
} 

Second-View-Controller .m

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSURL *URL = [NSURL URLWithString:[self.url stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 
    [self.webView loadRequest:request]; 
} 
+0

Ist die URL null? Warum übergibst du nicht die URL, anstatt den AbsoluteString zu übergeben? Ist die Webansicht in IB verbunden? –

+0

@TejaNandamuri, weil es ein inkompatibler Zeigertyp ist, deshalb lege ich die NSURL in einen NSString. Und ja, die URL endet mit Null. Ich verstehe nicht warum, weil die URL der Text in der Zelle ist (cell.textLabel.text). Und ja, die Webansicht ist verbunden – Elizabeth429

Antwort

0

Können Sie versuchen Platzierung der drei Zeilen aus dem - (void) viewDidLoad zum - (void) viewDidAppear: (BOOL) animiert stattdessen?

+0

Ich denke, dass etwas mit der PrepareForSegue-Methode nicht stimmt. Ich habe ViewDidLoad schon immer benutzt und es hat immer funktioniert. – Elizabeth429