文書   >   Foundation   >   Notifications   >   NotificationCenter   >   addObserver(_:selector:name:object:)
インスタンスメソッド
addObserver(_:selector:name:object:)
監視者と通知セレクタ、および optional の通知名と送信者とともに、通知センターの急送テーブルにエントリを追加します。
宣言
func addObserver(_ observer: Any, selector aSelector: Selector, name aName: NSNotification.Name?, object anObject: Any?)
パラメータ
observer | 監視者として登録するオブジェクト。 |
aSelector | 受信者が通知の送信を通知するために observer に送信するメッセージを指定するセレクタ。aSelector で指定されたメソッドは、1 つだけの引数 (NSNotification のインスタンス) を持たなければなりません。 |
aName | 監視者を登録する通知の名前。つまり、この名前の通知のみが監視者に配信されます。 nil を渡すと、通知センターは通知名を使用して監視者にそれを通知するかどうかを決定しません。 |
anObject | 監視者が受信したい通知を持つオブジェクト。つまり、この送信者によって送信された通知のみが監視者に配信されます。 nil を渡すと、通知センターは通知の送信者を使用して監視者にそれを配信するかどうかを決定しません。 |
議論
あなたのアプリが iOS 9.0 以降、または macOS 10.11 以降をターゲットにしている場合、その dealloc メソッドで監視者の登録を解除する必要はありません。それ以外の場合は、observer またはこのメソッドに渡されたオブジェクトが割り当て解除される前に removeObserver(_:name:object:) を呼び出す必要があります。
以下も見よ
通知監視者の追加と削除
通知キューを含む通知センターの急送テーブルに、エントリを追加し、通知キューにブロックを追加し、また optional の通知名と送信者を含みます。
func removeObserver(Any, name: NSNotification.Name?, object: Any?)
通知センターの急送テーブルから一致するエントリを削除します。
通知センターの急送テーブルから特定の監視者を指定するすべてのエントリを削除します。