0

私はTabViewコントローラーを備えたアプリに取り組んでおり、各タブにはTabeViewがあり、TableViewデリゲートとdataSourceをオブジェクトのメインViewControllerに設定しています。次のコードを使用して、新しい ViewController を NavigationController にプッシュしようとします。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    DonationsDataViewController *data = [self.storyboard instantiateViewControllerWithIdentifier:@"donationData"];
    //TODO set data to be passed;
    [self.navigationController pushViewController:data animated:YES];
    NSLog(@"Show donation details.");
}

私が抱えている問題は、アプリがクラッシュしないことです。Log of: Show Donation details. を取得しますが、ViewController をプッシュしませんでした。ここで何か間違ったことをしていますか? もしそうなら、問題を解決するための適切な方法は何ですか?

編集

プロジェクトの構造の詳細については、THISを参照してください。私はiOSが初めてで、これは遊んで学ぶための単なるプロジェクトです。圧縮されたプロジェクトは、ここからダウンロードできます。

4

1 に答える 1

1

navigationController インスタンスが nil でないことを確認しましたか? null のインスタンスでメソッドを呼び出すと例外がスローされる C#/Java とは異なり、Objective-C では nil のインスタンスにメッセージを送信することは有効です。

于 2012-11-13T21:49:00.437 に答える