Если вы создаете объект, используя функцию с Create
или Copy
в его имени, вам нужно освободить его с помощью CFRelease. Если вы получаете объект другим способом, вам не нужно.
То же, что и методы удобства в Objective-c.
Цитата из "Базовых базовых концепций дизайна"
Существует важное различие между Get, и Copy и Create, в именах функций, которые возвращают значения. Если вы используете функцию Get, вы не можете быть уверены в продолжительности жизни возвращаемого объекта. Чтобы обеспечить постоянство такого объекта, вы можете сохранить его (используя функцию CFRetain) или, в некоторых случаях, скопировать его. Если вы используете функцию Copy или Create, вы несете ответственность за освобождение объекта (используя функцию CFRelease). Для получения дополнительной информации см. Руководство по программированию управления памятью для Core Foundation.