removeFromSuperview: は該当する view が表示されていなくても大丈夫

button を押したら view を表示し、用が済んだら view を消す。

[self.view removeFromSuperview:hoge];

こんな感じで使うのですが、今回困ったのが、該当する view が表示されているのか表示されていないのかよくわからない状況で、removeFromSuperview しちゃったらどうなるかということ。

結論からすると、remove する対象となる view がなくても落ちることはない。

なので、remove しまくりでオッケーでした、よかったよかった。

なんでこんなことが必要になったかというと、

  1. button を押したら view を表示
  2. カメラを使って view に movie 表示

この view を消すときは、

  1. カメラを止める
  2. view を消す

という手順になるのですが、view を消す前にもっかいボタンを押したときのために、結局、view を表示する前に view を消してから表示にする必要が出てきて、初回 button を押したとき、view がないのに removeFromSuperview: が働いてしまうので、こりゃまずいかなと思ったんだけど大丈夫だった、という、説明するのがすごいわかりにくいなと。