0

こんにちは。私はiOSプログラミングにかなり慣れていません。何年も VB 用に開発してきましたが、これは大きな違いです。

スプラッシュ、テーブルビュー、そして最終的には Web ページを表示するための Web ビューを備えた小さな Storyboarded アプリを作成しました。ストーリーボードはうまく機能し、テーブルビューはうまく機能しますが、URL を Web ビューにプッシュしようとすると、「アプリケーションが nil ビュー コントローラーをターゲットにプッシュしようとしました。

どこかに正しく割り当てていないことを読みましたが、ここにすべてのコードをコピーするのはためらっています。これは多くの無駄なスペースだからです。

表の行の 1 つを押すと、次のコードになります。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

[[self navigationController] pushViewController:self.detailViewController animated:YES];

NSURL *urlInSafari = [NSURL URLWithString:@"http://www.google.com"];

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:urlInSafari];

[self.detailViewController.webView loadRequest:urlRequest];

}

これが何をするのかわかりませんが、アプリがデフォルトで作成されたとき、テーブルの行が押されたときに日付/時刻を取るラベルにスタックしました。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    NSDate *object = [_objects objectAtIndex:indexPath.row];
    [[segue destinationViewController] setDetailItem:object];
}
}

destinationViewController を DetailViewController にある WebView に変更する必要がありますか?

WebViewでリンクを開く以外はすべて機能します。どんな助けでも大歓迎です。

4

1 に答える 1

0

self.detailViewController が nil のようです。detailViewController がアウトレットの場合、XIB ファイルで接続されていることを確認してください。

于 2012-07-08T19:38:21.417 に答える