0

私は新しいiOS開発者で、簡単な質問があります。プログラムで1つのView Controllerから次のViewControllerに移動したいのですが、このコードをどのように記述すればよいですか?

これまでのところ:

UINavigationController *navigationController;
    navigationController = [[UINavigationController alloc] init];
    [self.view addSubview:navigationController.view];
    [navigationController pushViewController:viewController animated:NO];

これが最終的に機能するかどうかさえわかりませんが、私の主な質問は4行目の「viewController」です。プログラムはそれが何であるかを知りません。これは私の現在のViewControllerの名前ですが、viewControllerの意味を認識できるように設定するにはどうすればよいですか?

余談ですが、上記はif / elseステートメントの一部であり、NSUserDefaultsクラスに接続されているため、参照しているView Controllerは、条件が以前に受け入れられていない場合にのみロードされます。それは機能しますか?ありがとう。

4

2 に答える 2

0

最初の簡単な答えselfは、「現在の」オブジェクトを渡したいときに渡すことです。

より重要な考慮事項は、そのナビゲーションコントローラーが画面上にあるかどうかです。(おそらく) ウィンドウのルート ビュー コントローラーであるナビゲーション コントローラーを使用しない限り、コードはあまり機能しない可能性があります。

これは、ストーリーボード (「埋め込み」->「ナビゲーション コントローラー」) でのセットアップがかなり簡単で、コードでインスタンス化する必要はありません。(通常は) self.navigationController を使用するだけです。

于 2012-10-14T15:37:27.007 に答える
0

通常、viewController をプッシュする直前にインスタンス化するので、プログラムはそれが何であるかを認識します。もちろん、if ステートメントを使用して、if ステートメントの評価方法に基づいてこの新しいビュー コントローラーをプッシュすることもできます。

あなたが書いたコードについてはよくわかりません。それが正しいかどうかは、アプリの構造と、これをどこで行っているかによって異なります。多くの場合、ナビゲーション コントローラーはウィンドウのルート ビュー コントローラーになり、作成時に独自のルート ビュー コントローラーを使用してナビゲーション コントローラーを設定します。

于 2012-10-14T15:38:38.987 に答える