ARC включен, но я все еще могу использовать релиз и авто-релиз в моем AppDelegate?
Я включил ARC в своем приложении для iOS, что, по-моему, означало, что вы не смогли явно вызвать retain
, release
или же autorelease
без настройки -fno-objc-arc
флаг. Видимо, это не так для делегата приложения. Я проверил мой файл AppDelegate в разделе "Исходники компиляции" "Фазы сборки" для моего проекта, и в нем не указаны флаги компилятора, установленные для меня в файле AppDelegate. Тем не менее, я могу явно позвонить release
а также autorelease
, но нет retain
, Является ли это свидетельством колдовства, или инженеры Apple прибегли к взлому, чтобы заставить ARC работать?
1 ответ
Если вы можете отправить эти сообщения, ARC выключен.
Вы можете проверить, используя
#if ! __has_feature(objc_arc)
#error "ARC is off"
#endif