метод выпуска устарел - PullRequest
       19

метод выпуска устарел

2 голосов
/ 30 января 2012

Когда случилось с методом выпуска?Я всегда освобождаю память, когда с ней заканчиваю, и теперь кажется, что метод устарел.Или, может быть, это не работает для некоторых объектов?

В любом случае, это то, что я сделал:

Customer *aCustomer = [[Customer alloc] init];
...
[aCustomer release];

, и я получаю там ошибку ... Кто-нибудь хочет объяснить, почему я получаю ошибку, когда я освобождаю память?Сообщение об ошибке:

«выпуск» недоступен: недоступен в режиме автоматического подсчета ссылок ARC запрещает явную отправку сообщения «выпуск»

Ответы [ 3 ]

5 голосов
/ 30 января 2012

Если вы включили ARC, вам не нужно release объект.Это будет обработано компилятором.retain, release и autorelease все обрабатываются компилятором.

Редактировать: Вы можете узнать больше об этом из здесь

Также уже существует поток SO .Пожалуйста, пройдите это.

1 голос
/ 30 января 2012

Автоматический подсчет ссылок (ARC) для Objective-C делает память управление работой компилятора. Включив ARC с новым Apple LLVM-компилятор, вам больше никогда не потребуется набирать retain или release, значительно упростить процесс разработки, одновременно уменьшая сбои и утечки памяти. Компилятор имеет полное понимание ваши объекты, и освобождает каждый объект в тот момент, когда он больше не приложения работают так же быстро, как и всегда, с предсказуемым, плавным производительность.

- iOS 5 для разработчиков

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

1 голос
/ 30 января 2012

Чтобы самостоятельно управлять памятью, перейдите в «настройки сборки» и установите для флага «Автоматический подсчет ссылок Objective-C» значение «Нет» (это в разделе «Компилятор Apple LLVM»)

...