2012-01-04 2 views
2

Я слышал, что в некоторых ситуациях разработчики все равно должны знать основные правила управления памятью. Итак, когда знаний о ARC недостаточно для разработки приложений для iOS?В каких ситуациях нельзя просто полагаться на автоматический подсчет ссылок?

(Я знаю основы управления памятью, но друг не хочет и хочет начать разработку).

+0

возможно дубликат [Какие утечки делает автоматический подсчет ссылок Objective-C (в Xcode 4.2) не мешает/минимизировать?] (Http://stackoverflow.com/questions/6260256/what-kind -of-утечка-делает-объективно-CS-автоматический подсчет ссылок-в-Xcode-4-2) –

ответ

2

Я думаю, что понимание того, что происходит под капотом, всегда полезно, особенно в таких случаях, когда ARC использует соглашения об именах, чтобы все работало правильно.

Но для прямого ответа на ваш вопрос: он не может автоматически обрабатывать циклы удержания, и он работает только с объектами, поэтому, если вы используете какие-либо методы CoreFoundation, вам все равно придется беспокоиться об управлении памятью.

Кроме того, если вы используете сторонние или библиотеки с открытым исходным кодом, они могут быть не совместимы с ARC (хотя вы можете смешивать ARC и код без ARC в одном исполняемом файле).

0

dontWatchMyProfileless,

TL; др: Расскажите вам друг просто использовать ARC, а остальное устроится.

Длинная форма:

Я учу начала программирования IOS в местном колледже. Я приношу это не потому, что я эксперт в ARC, но что я научил новичков современной Objective-C.

Реальный вопрос: когда профессиональный программист iOS изучит все тонкости управления памятью iOS?

В моем классе осенью 2011 года я смог учить учащихся игнорировать проблемы управления памятью в течение большей части семестра. Затем он появился, когда это необходимо, когда учащиеся начали использовать API на основе C - Core Graphics, GCD и т. Д. Я представляю его, когда учащимся нужно начинать __bridge casting.

ARC действительно помог учащимся изучить Cocoa Touch. Управление памятью стало расширенной функцией, которой она является. В частности, мне нравится переключать ARC на &, чтобы показать утечку памяти пользователей.

Теперь пойди, получишь код друга.

Andrew

Смежные вопросы