Комментарии 9
Вот тут из 8 вхождений 7 -- это manual reference counting, и только одно - manual retain release. Правда, в этой же статье есть ссылка и сюда. И вот тут уже дается определение MRR, но тоже всего в нескольких упоминаниях. Имхо, не стоит так категорично. Кажется, что даже сами Apple вполне себе используют аббревиатуру MRC. Да и в русском сообществе она очень популярна. Ну, и так ли важно, как называется технология, или все же важнее понимают ли разработчики, как она работает?
В копилку каверзных вопросов для собеседований. Добавьте в ваш граф ретейн цикла еще один объект, и 9 из 10 собеседуемых его уже не найдут.
И еще один. Какую из ссылок в графе ретейн цикла по теории можно сделать слабой для устранения проблемы? А какую нужно, чтобы не создать себе других проблем? Как определять ту единственную связь, которую в графе безопасно ослаблять?
Многие на таком вопросе сыпятся:
- Сделай retain cycle из одного объекта.
Стек. Статическое выделение памяти, которое происходит только во время компиляции.
А что тут имеется ввиду под "во время компиляции"? Как можно выделить память во время компиляции? И где она тогда выделяется. Какого рода "компиляция" имеется ввиду? Память в стеке ведь выделяется при создании очередного stack frame-а, т.е. в runtime.
upd. или имеется ввиду что на весь стек резервируется память при запуске приложения и больше её размер не меняется? ну тогда тоже непонятно, причём тут компиляция
В стеке хранятся не только структуры и перечисления, но и кортежи (tuples)
В куче же помимо классов хранятся замыкания и функции.
Память в Swift (куча, стек, ARC)