Ich bin neu in Objective-C. Ich habe eine Tabellenansicht mit einer Liste von URLs. Wenn der Benutzer auf eine Zelle in der Tabellenansicht klickt, werden sie zu einem zweiten Ansichtscontroller mit einer Webansicht geführt, die die Website anzeigt. Wenn ich die App starte, erscheint die Webansicht jedoch leer. Ich denke, der didSelectRowAtIndexPath ist das Problem. Wie übertrage ich die URL zum zweiten View-Controller?didSelectRowAtIndexPath übergibt die URL nicht an den nächsten View-Controller?
ListTableViewController.m
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
FeaturedWebViewController *vc = [[FeaturedWebViewController alloc] init];
vc.url = cell.textLabel.text;
[self.navigationController pushViewController:vc animated:YES];
}
FeaturedWebViewController.m
NSURL *URL = [NSURL URLWithString: [self.url stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
[self.webView loadRequest:request];
Ich würde überprüfen, dass cell.textLabel.text den richtigen Wert hat; Vielleicht sollten Sie den Code anhalten und sicherstellen, dass vc.url die Zeichenfolge enthält, die Sie erwarten. Wenn das richtig aussieht, dann ist das Problem wahrscheinlich in FeaturedWebViewController. Vielleicht schlägt die Konvertierung von String zu NSURL fehl? Nicht sicher ... bitte poste den Code, wenn du immer noch Probleme hast. –
Wir müssten auch den Code des zweiten View-Controllers sehen, in dem Sie den '.url'-Wert verwenden. – Putz1103
Ich würde keine Daten aus einer Zelle ziehen, sondern aus der Struktur, mit der Sie die Zelle bevölkern. –