私はKVOを頻繁に使用するコードを持っており、addObserverを持っています:forKeyPath:とremoveObserver:forKeyPath:複数の場所です。このアプリは、「キーパスのためにオブザーバーを削除できません」というときにクラッシュすることがあります。[NSObject removeObserver:forKeyPath:]から例外をキャッチするのは安全ですか?
アプリがクラッシュするのを防ぐために、例外をキャッチするだけで安全かどうか疑問に思っていました。私はそれがKVOを扱う上で最善の方法ではないことを知っていますが、コードを整理するまでには少し時間を掛ける必要があります。
おそらく最初に失敗の性質を理解し、それを無視できるかどうかを判断するようにしてください。試してみると、それを決めるのが助かります:http://stackoverflow.com/questions/1582383/how-can-i-tell-if-an-object-has-a-key-value-observer-attached – Tala