Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про IOS: memory, arc, mrc

Как работает ARC и чем он отличается от MRC?

Вопрос проверяет понимание автоматического и ручного управления памятью в Swift/Objective-C.

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

ARC (Automatic Reference Counting) автоматически подсчитывает ссылки и освобождает память. MRC (Manual Reference Counting) требует ручного вызова retain/release. В Swift используется только ARC.

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

1. Принцип работы ARC:

  • Подсчитывает сильные ссылки на объекты.

  • Когда счетчик достигает нуля, объект удаляется.

  • Работает во время компиляции (вставляет вызовы retain/release автоматически).

2. Отличия от MRC:

  • Автоматическое управление

  • Выше безопасность

  • Использование современного Objective-C

3. Пример ARC:

class Person {
    deinit { print("Объект удален") }
}
var person: Person? = Person()  // Счетчик = 1
person = nil  // Счетчик = 0 → deinit

Вывод:
ARC удобнее и безопаснее, но требует понимания циклов удержания.

  • Аватар

    iOS Guru

    Roman Isakov

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    4

Навыки

  • IOS

    IOS

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

#memory

#arc

#mrc

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

  • Аватар

    iOS Guru

    Roman Isakov

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