LoginSignup
16
15

More than 5 years have passed since last update.

UIAlertViewを表示したあと、rootViewControllerがnilになっている問題

Last updated at Posted at 2013-01-19

今、Remote Pushを実装しています。やりたい事としては

  • Pushが来たらAlertを出す
  • AlertでOKを押すと、どの画面にいるか判断して遷移する

です。ので、今のViewControllerをとらねばなりません。

問題

そこで、Alertを出して、そのデリゲートで

[UIApplication sharedApplication].keyWindow.rootViewController

と書いていたのですが、なんとこれが、nilなのです。

けど、これをAlertを出す前にやると取得されます。

どうやら、Alertを出すと、keyWindowがAlertViewのものに変わってしまっており、そのrootViewControllerは設定されてないため、nilっぽいです。

これは、困った。困った。

解決策

ただ、今回は、Pushのときなので、AppDelegateに書いているので

self.window.rootViewController;

で取得出来ました。よかったよかった。

課題

これ、今回はAppDelegateだったからよかったものの、他の時ってどうするんだろう。

そんなことやること殆ど無いからいい気がするけども、気になる。

知ってる方おられましたら教えて下さい!

16
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15