Базовое управление жизненным циклом объекта основы

Продолжительность жизни Базового объекта Основы определяется его подсчетом ссылок — внутреннее количество числа клиентов, хотящих объект сохраниться. Когда Вы создаете или копируете объект в Базовой Основе, ее подсчет ссылок установлен в один. Последующие клиенты могут требовать владения объекта путем вызова CFRetain который постепенно увеличивает подсчет ссылок. Позже, когда у Вас больше нет использования для объекта, Вы вызываете CFRelease. Когда подсчет ссылок достигает 0, средство выделения объекта освобождает память объекта.

Сохранение ссылок на объект

Для постепенного увеличения подсчета ссылок Базового объекта Основы передайте ссылку на тот объект как параметр CFRetain функция:

/* myString is a CFStringRef received from elsewhere */
myString = (CFStringRef)CFRetain(myString);

Выпуск ссылок на объект

Для постепенного уменьшения подсчета ссылок Базового объекта Основы передайте ссылку на тот объект как параметр CFRelease функция:

CFRelease(myString);

Копирование ссылок на объект

При копировании объекта полученный объект имеет подсчет ссылок одного независимо от подсчета ссылок исходного объекта. Для больше при копировании объектов, посмотрите Функции Копии.

Определение объекта сохраняет количество

Если Вы хотите знать текущий подсчет ссылок Базового объекта Основы, передайте ссылку на тот объект как параметр CFGetRetainCount функция:

CFIndex count = CFGetRetainCount(myString);

Отметьте, однако, что должно обычно быть мало потребности определить подсчет ссылок Базового объекта Основы, кроме отладки. Если Вы должны для знания сохранить количества объекта, проверьте, что Вы должным образом придерживаетесь правил политики владения (см. Политику Владения).