- addObserverForName:object:queue:usingBlock:
- addObserver:selector:name:object:
- removeObserver:name:object:
Availability 有効性
Technology
- (void)removeObserver:(id)observer;
observer
The observer to remove from the dispatch table. Specify an observer to remove only entries for this observer. ディスパッチテーブルから取り除くオブザーバ。このオブザーバに対する登録項目のみ除去するオブザーバを指定してください。
Removing the observer stops it from receiving notifications. オブザーバを除去することは、それが通知を受信するのを止めます。
If you used add
to create your observer, you should call this method or remove
before the system deallocates any object that add
specifies.
あなたがadd
をあなたのオブザーバを作成するのに使用したならば、あなたはこのメソッドまたはremove
を呼び出さなければなりません、add
が指定する何らかのオブジェクトをシステムがデアロケートする前に。
If your app targets iOS 9.0 and later or macOS 10.11 and later, and you used add
, you do not need to unregister the observer. If you forget or are unable to remove the observer, the system cleans up the next time it would have posted to it.
あなたのアプリがiOS 9.0以降またはmacOS 10.11以降を目標とするならば、そしてあなたがadd
を使ったならば、あなたはオブザーバを登録解除する必要はありません。あなたがオブザーバの除去を忘れるまたはそれができないならば、システムは、次にそれがそれに投函する時に片付けます。
When removing an observer, remove it with the most specific detail possible. For example, if you used a name and object to register the observer, use remove
with the name and object.
オブザーバを取り除く場合、それをできるだけ多くの具体的な詳細で除去してください。例えば、あなたがオブザーバを登録するのに名前とオブジェクトを使ったならば、remove
を名前とオブジェクトで使ってください。
Important 重要
You shouldn't use this method to remove all observers from a long-lived object because your code may not be the only code adding observers that involve the object. あなたはこのメソッドを使うことですべてのオブザーバを長寿命オブジェクトから取り除くべきです、なぜならあなたのコードは、そのオブジェクトを必要とするオブザーバを加えている唯一のコードでないかもしれないからです。
The following example illustrates how to unregister some
for all previously registered notifications. This is safe to do in the dealloc
method, but you shouldn’t use it otherwise (use remove
instead).
以下の例は、どのようにsome
を、全ての以前に登録された通知から登録解除するかを説明します。これは、dealloc
メソッドにおいて実行するのに安全です、しかしあなたはそうでなければそれを使うべきではありません(remove
を代わりに使ってください)。
- addObserverForName:object:queue:usingBlock:
- addObserver:selector:name:object:
- removeObserver:name:object: