В настройках проекта вы можете компилировать с поддержкой GC ( НЕ требуется ), и они должны прекрасно перемешиваться. Компиляция с поддержкой GC, но не обязательной, должна позволить retain / release работать вместе с GC
Если вы не можете скомпилировать проект с поддержкой GC, у вас будут проблемы.
РЕДАКТИРОВАТЬ: Чтобы уточнить: Если вы компилируете свой проект с необходимым GC (-fobjc-gc-only), ваш код сохранения / выпуска будет игнорироваться. Если вы компилируете без отношения к GC, вы не можете использовать платформу GC. Однако, если вы компилируете с поддержкой GC (-fobjc-gc), ваш код сохранения / выпуска будет работать по мере необходимости, и также будет работать инфраструктура GC.
РЕДАКТИРОВАТЬ: Для дальнейшего уточнения (я очень устал сегодня): Если вы включаете каркас только для GC, вы должны скомпилировать с -fobjc-gc или -fobjc-gc-only и запустить с сборкой мусора, в которой В случае, если ваши заявления о сохранении / выпуске действительно будут недействительными. Однако, если вы скомпилируете с -fobjc-gc-only и попытаетесь включить фреймворк, который не собран ни с какой поддержкой GC, у вас будут проблемы. В то время как я понимаю, что если вы компилируете с -fobjc-gc, вы можете включить фреймворк только для GC, а также фреймворк без GC. Из документов, на которые я ссылался выше:
Код, скомпилированный как GC.
Предполагается также содержать традиционные
сохранить / освободить логику метода и может быть
загружается в любое приложение.
Так что, если вы хотите, чтобы ваш Framework хорошо играл с чем-либо, вам лучше скомпилировать с -fobjc-gc вместо -fobjc-gc-only.
Видимо, мне было тяжело переносить мысли на клавиатуру вчера. Согласно документам:
-fobjc-gc-only Это означает, что присутствует только логика GC. Код скомпилирован как GC
Требуется, как предполагается, не использовать
традиционный какао сохранить / выпустить
методы и не могут быть загружены в
приложение, которое не работает с
сборка мусора включена.
Таким образом, если вы строите свою среду с GC Required, вы не сможете загрузить ее в приложение без поддержки GC.
Также в соответствии с документами:
-fobjc-gc Это означает, что присутствует логика как GC, так и retain / release. Код
скомпилировано как предполагается GC Поддерживается
также содержать традиционные
сохранить / освободить логику метода и может быть
загружается в любое приложение.
Таким образом, в то время как разработчик обязан включать логику сохранения / выпуска в проект, который скомпилирован с поддержкой GC, это позволяет загружать платформу в любое приложение.
Я прошу прощения за мой неясный бродить вчера. Я спал 3 часа и пытался сделать несколько вещей одновременно. Никогда хорошая идея.