Sobes.tech
Назад к вопросам
Junior — Middle
66

Объясните, что такое NotificationCenter и как он работает в системе оповещений

Ответ от нейросети

sobes.tech AI

NotificationCenter в iOS — это механизм для передачи сообщений (уведомлений) между разными частями приложения без необходимости прямой связи между ними. Он реализует паттерн «наблюдатель» (observer), позволяя объектам подписываться на уведомления с определённым именем и получать их, когда кто-то публикует такое уведомление.

Как это работает:

  • Объект подписывается на уведомление с помощью метода addObserver, указывая имя уведомления и селектор (метод), который будет вызван при получении.
  • Когда другой объект публикует уведомление с этим именем через post, NotificationCenter вызывает методы всех подписчиков.
  • Это позволяет организовать слабосвязанное взаимодействие между компонентами.

Пример:

NotificationCenter.default.addObserver(self, selector: #selector(handleNotification), name: .myNotification, object: nil)

@objc func handleNotification(_ notification: Notification) {
    print("Получено уведомление")
}

// Где-то в коде
NotificationCenter.default.post(name: .myNotification, object: nil)

Таким образом, NotificationCenter помогает организовать коммуникацию внутри приложения без жёстких связей между объектами.