更新
修正了加载问题。当我使用自定义单元格类时,我只将storyboard中tableview单元格的标识符设置为customcell的名称,而不是实际的类本身!菜鸟错误,对不起!
这解决了viewDidLoad方法中缺少加载网页的问题。现在我只需要对它进行排序,以便根据表行选择加载正确的网页。 PrepareForSegue是否适用于此?感谢
原帖
在我的应用程序中,我有一个带有tableview的FirstViewController,它列出了在打开时在secondviewcontroller中加载webview的对象。
所以在我的didSelectRowAtIndexPath方法中,我目前有:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{ [self performSegueWithIdentifier:@"Detail" sender:self];
NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
DetailViewController *detailViewController = [DetailViewController alloc];
detailViewController.urlToGet = @"www.google.com"
}
现在,DetailViewController当然在Storyboard中设置了viewcontroller对象,其中设置了委托和webView插座。
在DetailViewController类中,我甚至在viewDidLoad中试过这个,只是为了得到一些网站:
NSString *fullURL = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
但我得到的只是一个空白的网页浏览。
我尝试了一个新项目的教程,该项目运行良好,然后复制它 - 遗憾的是它现在不能在这里工作。
我也尝试过prepareForSegue(因为这会获得信息),但这不起作用。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
/*
When a row is selected, the segue creates the detail view controller as the destination.
Set the detail view controller's detail item to the item associated with the selected row.
*/
if ([[segue identifier] isEqualToString:@"Detail"]) {
DetailViewController *detailViewController = [segue destinationViewController];
detailViewController.urlToGet = @"www.google.com";
}
}
两个ViewControllers之间的segue具有Detail的标识符。
知道为什么我不能让对象加载viewDidLoad中指定的网站?
感谢
答案 0 :(得分:0)
您必须init
视图控制器。在那里发生子视图等的创建。
答案 1 :(得分:0)
修正了它!我使用的是自定义单元类,我只将storyboard中tableview单元格的标识符设置为customcell的名称,而不是实际的类本身!菜鸟错了,对不起!