0

ついにAPIログインが機能するようになりましたが、ログイン後にメインページにリダイレクトするという大きな障害にぶつかりました。絵コンテはこんな感じ

現在のストーリーボード

したがって、その送信ボタンにすべてのプロセスがあり、検証に合格した後、[イベント]ページにリダイレクトしたいのですが、常にキャッシュされ、この例外が発生します。

キャッチされなかった例外「NSGenericException」が原因でアプリを終了しています。理由:「セグエ「LoginSuccess」のナビゲーションコントローラーが見つかりませんでした。プッシュセグエは、ソースコントローラーがUINavigationControllerのインスタンスによって管理されている場合にのみ使用できます。

これは次のページに進む行です

if(user.isValid){
        // go to next page
        [self performSegueWithIdentifier:@"LoginSuccess" sender:self];
    }
    else{
            // else refresh current page
    }

みんなありがとう!

4

1 に答える 1

1

UINavigationControllerプッシュセグエを使用する場合は、ログインビューコントローラーをに組み込む必要があります。

次のようなものが必要です。

-(initial view controller)-> [UINavigationController] -(embed)- LoginViewController -(push)-> EventsListViewController

編集:( コメントから)本当にプッシュセグエを使用したい場合は、ナビゲーションコントローラーに配置する必要があります。それ以外の場合は、コード(を変更することによりappDelegate.window.rootViewController)またはモーダルセグエを介して画面を変更する必要がある場合があります。ただし、モーダルセグエを使用している場合、モーダルセグエを使用している他のコントローラーを表示することはできません。(現在のビューコントローラがすでにモーダルで表示されている場合、コントローラをモーダルで表示することはできません。)

これまでのところ、コードを介してrootViewControllerを変更することのみを使用してきました。LoginViewControllerをUINavigationControllerに埋め込んだ場合、[戻る]ボタンをログアウトとして(EventsListViewControllerの場合)、またはナビゲーションコントローラーでビューコントローラーをポップするときに処理する必要がある場合があります。

于 2013-01-16T07:11:46.840 に答える