2013-11-11 3 views
0

В моем приложении используется ARC, но я использую библиотеку, которая скомпилирована без ARC, в частности UAModalPanel. Я хотел бы добавить subview к одному из представлений этого класса, есть ли что-то особенное, что я должен сделать, чтобы убедиться, что это подпункт сохранен и затем освобожден, когда он больше не нужен? (Я не буду ссылаться на этот подъярус в моем основном коде после его добавления)Добавление subview в класс, скомпилированный без ARC

ответ

1

Пока код и код библиотеки следуют KVC naming conventions, ARC и не-ARC совместимы, и вам не нужно беспокоиться об обмене объектами между модулями, скомпилированными с тем или иным. Таким образом, ARC будет явно прозрачным. Он просто вставляет сохраненные и релизы, которые вы добавили бы сами, если бы вы очень внимательно следовали правилам. У него есть некоторые оптимизационные трюки, когда он знает, что весь код, участвующий в вызове метода, является ARC, но он может автоматически обнаружить это во время выполнения и выберет оптимизацию, если он вызывает не-ARC-код.

+0

Awesome thx! Означает ли это, что я могу даже подклассы класса из этой библиотеки и использовать ARC в этом подклассе? –

+1

Абсолютно. ARC может использоваться на основе каждой компиляции (т. Е. Каждый .m-файл) и предназначен для прозрачного взаимодействия с другими единицами компиляции, которые используют ARC или не используют ее, если вы соблюдаете правила именования. Неважно, какая иерархия объектов реализуется компиляционными единицами. –

Смежные вопросы