文書   >   Foundation   >   Notifications   >   NotificationCenter   >   removeObserver(_:)
インスタンスメソッド
removeObserver(_:)
通知センターの急送テーブルから特定の監視者を指定するすべてのエントリを削除します。
宣言
func removeObserver(_ observer: Any)
パラメータ
observer | 削除すべき監視者。 |
議論
あなたのアプリが iOS 9.0 以降、または macOS 10.11 以降をターゲットにしている場合、その dealloc メソッドで監視者の登録を解除する必要はありません。それ以外の場合は、addObserver(forName:object:queue:using:) または addObserver(_:selector:name:object:) で指定された observer または全てのオブジェクトが割り当て解除される前にこのメソッドあるいは removeObserver(_:name:object:) を呼び出す必要があります。
オブジェクトが含まれる監視者を追加する唯一のコードでない可能性があるため、このメソッドを使用して長い寿命のオブジェクトからすべての監視者を削除しないでください。
以下の例は、someObserver> を、以前に登録したすべての通知に対して登録解除する方法を示しています。これは dealloc メソッドでは安全ですが、そうでない場合は使用しないでください (代わりに removeObserver(_:name:object:) を使用してください)。
以下も見よ
通知監視者の追加と削除
通知キューを含む通知センターの急送テーブルに、エントリを追加し、通知キューにブロックを追加し、また optional の通知名と送信者を含みます。
func addObserver(Any, selector: Selector, name: NSNotification.Name?,
object: Any?)
監視者と通知セレクタ、および optional の通知名と送信者とともに、通知センターの急送テーブルにエントリを追加します。
func removeObserver(Any, name: NSNotification.Name?, object: Any?)
通知センターの急送テーブルから一致するエントリを削除します。