アプリケーションアーキテクチャに関連しています。私はあなたの質問を分割したいと思います:
私はobjective-Cを初めて使用し、アプリの起動時に、検索およびログインビューを備えたtabbarControllerが表示されるアプリを実行しています。
返信: 最初に、親ナビゲーション コントローラーのように動作する AppDelegate にナビゲーション コントローラーが必要であり、タブバー コントローラーを rootviewcontroller として追加する必要があります。ログアウト。
ログインが成功すると、4 つのタブバー項目 (検索、マイプロファイル、マイアクティビティ、ログアウト) を含むタブバーコントローラーが表示されます
返信: ログインすると、4 つのタブを持つ新しいタブバー コントローラーがプッシュされます。これは、親ナビゲーション コントローラー (アプリの削除で作成したもの) にプッシュされます。
ログアウトをクリックすると、アカウントからログアウトする必要があり、スタートアップビューを再度表示する必要があります
返信:ログアウトしたいとき、ログアウト関連のすべてのこと(セッションを閉じるなど)を行った後、View Controllerをポップしたい場合は[self.navigationController popViewController]
役に立ちません。self.navigation コントローラーは、新しいタブバー (ログイン後にプッシュした 4 つのタブ) のナビゲーション コントローラーであるためです。したがって、ここで親ナビゲーション コントローラーにアクセスする必要があります。これは、アプリ デリゲートで作成した Logout ビュー コントローラーへの : のようなものです[appDelegate.navController poptoRootViewController]
。
したがって、ここで重要な点は、親ナビゲーション コントローラーにアクセスして制御する必要があるということです。
お役に立てれば。