Отключить автоматический подсчет ссылок для некоторых файлов
Я загрузил iOS 5 SDK и обнаружил, что ARC - отличная функция нового компилятора Apple. В настоящее время многие сторонние структуры не поддерживают ARC. Могу ли я использовать ARC для моего нового кода и сохранить текущий код сохранения/выпуска неизменным? Конвертер ARC здесь не работает, потому что некоторые фреймворки, такие как JSONKit, не могут быть преобразованы в ARC с помощью конвертера.
Edit:
Ответ заключается в добавлении -fno-objc-arc
к флагам компилятора для файлов, которые вы не хотите использовать ARC. В Xcode 4 вы можете сделать это под своей целью → Фазы сборки → Скомпилировать источники.
Ответы
Ответ 1
Публичные ARC-документы, хотя и не ясны прямо на этом этапе, похоже, предполагают, что до тех пор, пока каждый класс является либо всем ARC, либо всем управляемые вручную, классы могут быть интегрированы в одну программу.
Вы не можете смешивать ARC и не-ARC в одном классе; в документе говорится, что отправка сообщений retain
, release
, autorelease
или retainCount
любыми способами (включая таймеры и задержки выполнения, которые используют @selector
), запрещена в коде ARC. Таким образом, вы не можете делать не ARC в ARC-классе (потому что необходимые сообщения запрещены), и вы не можете делать ARC в классе, отличном от ARC (поскольку ARC добавляет элементы синтаксиса, которые недействительны без ARC).
В этом же документе более понятно, можно ли интегрировать библиотеки/рамки ARC в ARC-программу: Да. Он не упоминает, можете ли вы использовать ARC-библиотеки/фреймворки в программе, где весь ваш код не является ARC, но, учитывая все вышесказанное, импликация кажется да.
Ответ 2
Не очень интуитивно понятно, как отключить ARC в файлах MULTIPLE, какое-то время я делал это один за другим, пока не выяснил, как это сделать.
- Выберите желаемые файлы на этапах Target/Build/Compile Sources в Xcode (CMD + щелчок или Shift + клик)
- PRESS ENTER (дважды щелкните reset выбор, поэтому он не работает)
- Тип -fno-objc-arc
- Нажмите "Enter" или "Готово"
Ответ 3
Если вы хотите отключить автоматическое подсчет ссылок для некоторых файлов, тогда очень просто сделать это, просто выполните шаги. Вы добавляете флаги компилятора в Цели → Сборка фаз → Скомпилировать источники.
Используемый флаг -fno-objc-arc нажмите клавишу ввода после его записи.!
Вам нужно дважды щелкнуть по правой колонке строки под флагом компилятора.
Надеюсь, это поможет Спасибо:)
Ответ 4
Можно отключить ARC для отдельных файлов, добавив флаг -fno-objc-arc для этих файлов.
Как отключить ARC для одного файла в проекте?
Ответ 5
Чтобы отключить ARC для отдельных классов, вам нужно будет перейти к "Сформировать фазы" после нажатия на ваш проект в Xcode и развернуть разделы источников компиляции.
С правой стороны вы увидите возможность добавления флагов компилятора для определенных классов. Установка -fno-objc-arc для класса отключит ARC на нем.
Источник:
Отключить автоматический подсчет ссылок с помощью -fno-objc-arc