0

アップデート

読み込みの問題を修正しました。カスタムセルクラスを使用していたため、ストーリーボードのテーブルビューセルの識別子を実際のクラス自体ではなく、カスタムセルの名前に設定しただけでした。ルーキーの間違い、ごめんなさい!

これにより、viewDidLoadメソッドでWebページが読み込まれない問題が修正されます。テーブルの行の選択に応じて正しいWebページが読み込まれるように、並べ替える必要があります。PrepareForSegueはこれに理想的ですか?ありがとう

元の投稿

私のアプリには、開いたときにsecondviewcontrollerにWebビューをロードするオブジェクトを一覧表示するテーブルビューを備えたFirstViewControllerがあります。

したがって、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には、デリゲートとwebViewアウトレットが設定されているストーリーボードにviewcontrollerオブジェクトがあります。

DetailViewControllerクラス自体で、これをviewDidLoadで試して、Webサイトを表示しました。

       NSString *fullURL = @"http://www.google.com"; 
NSURL *url = [NSURL URLWithString:fullURL];
 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:requestObj];

しかし、私が得るのは空白のWebビューだけです。

正常に機能する新しいプロジェクトでチュートリアルを試し、それをコピーしました。残念ながら、現時点ではここでは機能しません。

また、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";
}

}

詳細の識別子を持つ2つのViewController間のセグエ。

viewDidLoadで指定されたWebサイトをロードするオブジェクトを取得できない理由はありますか?

ありがとう

4

2 に答える 2

0

initビューコントローラを使用する必要があります。そこでサブビュー等の作成が行われます。

于 2012-07-30T20:45:38.833 に答える
0

修正しました!ストーリーボードのテーブルビューセルの識別子を、実際のクラス自体ではなく、カスタムセルの名前に設定しただけのカスタムセルクラスを使用していました。ルーキーの間違い、ごめんなさい!

于 2012-08-08T17:00:42.650 に答える