これまで、私のアプリには 1 つのメイン ビュー コントローラー ( MainViewController
) とログイン ビュー コントローラー ( LoginViewController
) しかありませんでしたが、現在はタブ バー コントローラーに移行しています。
キーチェーンにユーザー名とパスワードが存在するかどうかviewDidLoad
を簡単に確認する前に。MainViewController
ユーザー名とパスワードが存在しない場合は、セグエを使用してモーダル ログイン ビュー コントローラーをポップアップしました。
タブ バー コントローラーを使用する新しいセットアップでは、まだMainViewController
ルート ビュー コントローラーであるビュー コントローラー (
viewDidLoad
of でセグエを呼び出すと、次のようになります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];
}
エラー メッセージから、viewDidLoad
ofからセグエを実行しようとすると、 fromMainViewController
をロードしようとしていることがわかります。LoginViewController
UITabBarController
LoginViewController
からviewDidLoad
をロードできないのはなぜMainViewController
ですか?
これに関するどんな助けも素晴らしいでしょう。
ありがとう!