0

更新

修复了加载问题。当我使用自定义单元格类时,我只将情节提要中的 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";
}

}

两个 ViewController 之间的 segue 具有 Detail 的标识符。

知道为什么我无法让对象甚至加载其 viewDidLoad 中指定的网站吗?

谢谢

4

2 回答 2

0

你必须到init视图控制器。子视图等的创建发生在那里。

于 2012-07-30T20:45:38.833 回答
0

解决它!我使用的是自定义单元格类,我只将情节提要中的 tableview 单元格的标识符设置为 customcell 的名称,而不是实际的类本身!菜鸟失误,对不起!

于 2012-08-08T17:00:42.650 回答