4

だからここに私の質問があります。私はサイレントスタックオーバーフロースキマーであり、ユーザー名とパスワードを要求するViewControllerで始まるアプリケーションにxcode4.5ストーリーボードを使用しています。私のアプリケーションはバックエンドサーバーを介してデータをチェックし、ログインが正しければ、画面をメインメニューに転送するuinavigationcontrollerを指すセグエを実行します。uinavigationcontrollerは改ざんされておらず、メインメニューを自動的にプッシュします。

Login_screen -> UINavigationController -> Main_Menu

私の質問はNSString、ログイン画面からメインメニュー画面にユーザー名を渡す方法です。

prepareforsegueセグエがメソッドを介して直接データを指しているときに、ある画面から次の画面にデータを渡す方法を理解していperformsegueます。しかし、この場合、login_screenセグエuinaviationcontrollerは、main_menu controller

私の仮定は、UINavigationController特定のメソッドを継承して実装するカスタムクラスを作成する必要があるということですが、uinavigationcontroller見られないので、私は考えていないviewdidloadviewwillappear、正しいメソッドです。

どんな助けでもありがたいです

私は新規ユーザーなので、画像を投稿することはできませんが、できるだけ早く修正します

4

2 に答える 2

9

UINavigationControllerのtopViewControllerプロパティを使用できます。

UINavigationController.topViewControllerオブジェクトをMain_MenuViewControllerにキャストし、データを通常どおりに設定します。

お役に立てれば

于 2012-12-03T14:00:13.270 に答える
0

いずれの場合でも、現在選択されている/アクティブなオブジェクトを永続化するためのコンテナが必要です。何らかの理由でUINavigationControllerを拡張できない場合(なぜだろうか)、AppDelegateにいつでも割り当て可能なプロパティを設定し、最終的なMain_Menuコントローラーでこのプロパティを読み取ることができます。

このようなSmth:

AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate];
NSObject* myThing = app.myObj
if(!myThing) {
    app.myObj = ...
}
于 2012-10-31T21:34:40.770 に答える