Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про IOS: observable, weak, reference

Как Observable хранит и уведомляет подписчиков?

Вопрос проверяет понимание внутренней реализации источника событий и управления памятью.

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

Observable хранит список подписчиков и уведомляет их при изменении состояния. Обычно подписчики хранятся как слабые ссылки, чтобы избежать retain cycle. При событии Observable проходит по списку и вызывает методы или замыкания. Также может использоваться фильтрация или удаление неактуальных подписчиков. Это позволяет безопасно рассылать события.

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

Хранение и уведомление подписчиков — центральная часть паттерна Observer.

Хранение подписчиков

Observable может хранить:

  • массив слабых ссылок

  • словарь идентификаторов

  • список замыканий

private var observers = [WeakObserver]()

Уведомление

Когда состояние меняется, Observable:

  1. формирует событие

  2. проходит по подписчикам

  3. вызывает обработчики

Управление памятью

Перед рассылкой часто:

  • удаляются освобождённые подписчики

  • проверяется актуальность

Вывод

Правильное хранение подписчиков предотвращает утечки памяти и делает событийную модель надёжной.

  • Аватар

    iOS Guru

    Roman Isakov

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • IOS

    IOS

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

#observable

#weak

#reference

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

  • Аватар

    iOS Guru

    Roman Isakov

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