2016-05-08 8 views
1

[self removeFromSuperview]がスーパービューで[self.customView removeFromSuperview]を実行するのと同じように、スーパービューから正しく削除されるため、カスタマイズされたUIViewでremoveFromSuperviewを呼び出すことはできますか?removeFromSuperviewを呼び出して自己割り当てを解除する?

私はこれをチェックしていますが、同じことをしているようですが、私はまだ確認したいと思います!

+3

もちろんです。私は本当にその質問を理解していない。 – Avi

+0

私はそれがばかだと知っています..しかし、昨夜は私は似ていました、それは本当に..ですか?ちょうど寝ていたはずですか? – durazno

答えて

2

UIViewインスタンスがremoveFromSuperviewメッセージを受け取る方法は無関係です。外部から呼び出されたかどうかにかかわらず、まったく同じことを行います。

他の強い参照がない限り、ビューはスーパービューから削除された後もまったく同じ方法で割り当て解除されます。必要に応じて、ビューのサブクラスにdeallocメソッドを実装し、NSLogまたはブレークポイントを追加することで、自分でテストすることができます。

あなたがremoveFromSuperviewを呼び出すことができたときのための唯一の注目すべき例外は、ビューのdrawRect:方法、as stated in the documentation内からそれをを呼び出さないんです。そうすることで、未定義の動作につながります。

関連する問題