Отключить автоматический подсчет ссылок для некоторых файлов

Я загрузил 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

Если вы хотите отключить автоматическое подсчет ссылок для некоторых файлов, тогда очень просто сделать это, просто выполните шаги. Вы добавляете флаги компилятора в Цели → Сборка фаз → Скомпилировать источники.

xcode

Используемый флаг -fno-objc-arc нажмите клавишу ввода после его записи.! Вам нужно дважды щелкнуть по правой колонке строки под флагом компилятора. Надеюсь, это поможет Спасибо:)

Ответ 5

Чтобы отключить ARC для отдельных классов, вам нужно будет перейти к "Сформировать фазы" после нажатия на ваш проект в Xcode и развернуть разделы источников компиляции.

С правой стороны вы увидите возможность добавления флагов компилятора для определенных классов. Установка -fno-objc-arc для класса отключит ARC на нем.

Источник: Отключить автоматический подсчет ссылок с помощью -fno-objc-arc