Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про IOS: subscription, observer

Как Observer подписывается на события Observable?

Вопрос проверяет понимание механизма подписки и жизненного цикла наблюдателей.

Короткий ответ

Observer подписывается на события, передавая себя Observable или регистрируя обработчик. Это может быть добавление в список подписчиков, установка замыкания или регистрация в NotificationCenter. После подписки Observer начинает получать уведомления при изменениях. Важно корректно управлять временем жизни подписки. Неправильная подписка может привести к утечкам памяти.

Длинный ответ

Механизм подписки зависит от выбранной реализации Observer.

Подписка через протокол

Observer передаёт себя источнику:

observable.add(observer: self)

При этом важно:

  • использовать weak ссылки

  • отписываться при деинициализации

Подписка через замыкание

Observer передаёт функцию обратного вызова:

observable.onChange = { value in
    // обработка события
}

Подписка через NotificationCenter

NotificationCenter.default.addObserver(
    self,
    selector: #selector(handle),
    name: .event,
    object: nil
)

Вывод

Подписка — это момент связывания Observer и Observable. Важно не только подписаться, но и корректно управлять отпиской.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • IOS

    IOS

Ключевые слова

#subscription

#observer

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.