ARC относится только к управлению памятью Какао.Если вы выполняете приведение между Cocoa и CoreFoundation для бесплатных объектов-мостов, есть макросы для передачи управления памятью.
Вы можете утечь память в C, вы можете утечь память Core Foundation, и статический анализатор поможетс их поиском.
ARC полностью не устраняет управление памятью.Он устраняет необходимость управления памятью для объектов Какао и в некоторых случаях (поскольку он может оптимизировать некоторые вызовы retain
release
) более эффективен в управлении памятью, но вам все равно необходимо понимать управление памятью для объектов Core Foundation, идля памяти C.
Вам также необходимо понять управление памятью Какао, чтобы понять, когда использовать свойства strong
, weak
или copy
и когда использовать Block_copy()
и Block_release()
для блоков.даже если блоки являются объектами Какао, и в большинстве случаев правильное управление памятью обрабатывается ARC.
Опять же; ARC не отменяет управление памятью .Это упрощает его и уменьшает объем кода, который вы должны написать, но вы все равно должны понимать, что делается для вас за кулисами, и когда вам нужно управлять собственной памятью.