これまで、私のアプリには 1 つのメイン ビュー コントローラー ( MainViewController) とログイン ビュー コントローラー ( LoginViewController) しかありませんでしたが、現在はタブ バー コントローラーに移行しています。
キーチェーンにユーザー名とパスワードが存在するかどうかviewDidLoadを簡単に確認する前に。MainViewControllerユーザー名とパスワードが存在しない場合は、セグエを使用してモーダル ログイン ビュー コントローラーをポップアップしました。
タブ バー コントローラーを使用する新しいセットアップでは、まだMainViewControllerルート ビュー コントローラーであるビュー コントローラー (
viewDidLoadof でセグエを呼び出すと、次のようになりますMainViewController。
[self performSegueWithIdentifier:@"loadLoginView" sender:nil];
このエラーが発生しています:
Warning: Attempt to present <LoginViewController: 0x1757cd80> on <UITabBarController: 0x17571e50> whose view is not in the window hierarchy!
しかし、ボタンをLoginViewControllerセグエ経由でロードするメソッドに関連付けると、正常に動作します。私はMainViewControllerこのようにそれをやっています:
-(void)loadLogin
{
[self performSegueWithIdentifier:@"loadLoginView" sender:nil];
}
エラー メッセージから、viewDidLoadofからセグエを実行しようとすると、 fromMainViewControllerをロードしようとしていることがわかります。LoginViewControllerUITabBarController
LoginViewControllerからviewDidLoadをロードできないのはなぜMainViewControllerですか?
これに関するどんな助けも素晴らしいでしょう。
ありがとう!