一連のテーブルビューコントローラーにオブザーバーを動的に登録しているので、同じオブジェクトに登録されている場合は、以前のオブザーバーを削除する必要があります。これを行うには、オブザーバーがオブジェクトに存在するかどうかを確認する必要があります。
これは可能ですか?NSNotificationでNSNotificationセンターのシングルトンを使用できることは知っていますが、これはKVOでも同じですか?
一連のテーブルビューコントローラーにオブザーバーを動的に登録しているので、同じオブジェクトに登録されている場合は、以前のオブザーバーを削除する必要があります。これを行うには、オブザーバーがオブジェクトに存在するかどうかを確認する必要があります。
これは可能ですか?NSNotificationでNSNotificationセンターのシングルトンを使用できることは知っていますが、これはKVOでも同じですか?
同じオブジェクトに登録されているオブザーバーを削除するにはどうすればよいですか。
しかし、以下の方法は、解決策を見つけるために少し先に進むのに役立つと思います。
observationInfo
レシーバーに登録されているすべてのオブザーバーに関する情報を識別するポインターを返します。
- (void *)observationInfo
このメソッドのデフォルトの実装では、レシーバーのポインタをキーとするグローバル ディクショナリから情報を取得します。
いいえ、私が知っている簡単な方法はありません。KVO と NSNotification はその点で異なります。その機能が必要な場合は、KVO の代わりに NSNotification を使用してソリューションを実装してみませんか?