NotificationCenterは、イベントの通知をするためのクラスです。
あるイベントが発生した時に別のクラスでそのイベントを検知したい場合に使用します。
NSObject
プロパティ名 | 説明 | サンプル |
---|---|---|
default | デフォルトの通知センターを取得する | let center = NSNotificationCenter.defaultCenter() |
メソッド名 | 説明 | サンプル |
---|---|---|
addObserver(forName:object:queue:using:) | 通知名を設定して通知を登録する 通知受信時の処理は、クロージャで記述する |
observers = center.addObserver(forName: .UIDeviceOrientationDidChange, object: nil, queue: nil, using: { (notification) in print("通知されました。\n(notification)") }) |
addObserver(_:selector:name:object:) | 通知名を設定して通知を登録する 通知受信時の処理は、セレクタで指定する |
center.addObserver(self, selector: #selector(type(of: self).detectDidBecomeActive), name: .UIApplicationDidBecomeActive, object: nil) |
removeObserver(_:) | 指定したオブザーバに登録されている全ての通知を削除する | center.removeObserver(self) |
removeObserver(_:name:object:) | 指定したオブザーバに登録されている通知のうち、通知名が一致するものを削除する | center.removeObserver(self, name: .UIApplicationUserDidTakeScreenshot, object: nil) |
post(name:object:) | 名前を指定して通知を作成し、それを受信者に通知する | center.post(name: .customNotification, object: nil) |
Foundation.framework
Category | Version |
---|---|
Swift | 3.0.2 |
Xcode | 8.2.1 |
iOS | 10.0~ |
https://developer.apple.com/reference/foundation/notificationcenter