Junior — Middle
Where is it recommended to implement the registration of listeners for the notification system?
sobes.tech AI
Answer from AI
Registering listeners (handlers) for the notification system in iOS is recommended to be done in the viewDidLoad method of the controller or in the initializer of the object if the listener pertains to the lifecycle of that object.
This allows:
- Registering the listener once when the interface loads or the object is created.
- Avoiding re-registration each time the controller appears on the screen.
It is also important to remember to unregister listeners (for example, in deinit or viewWillDisappear) to prevent memory leaks and incorrect behavior.
Example of registration in viewDidLoad:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(handleNotification), name: .someNotification, object: nil)
}
@objc func handleNotification(_ notification: Notification) {
// Handle notification
}
deinit {
NotificationCenter.default.removeObserver(self)
}