Ссылка CFType
Вся другая Базовая Основа непрозрачные типы происходит из CFType. Функции, обратные вызовы, типы данных и константы, определенные для CFType, могут использоваться любым полученным непрозрачным типом. Следовательно, функции CFType упоминаются как «полиморфные функции». Вы используете функции CFType, чтобы сохранить и выпустить объекты, сравнить и проверить объекты, получить описания объектов и непрозрачных типов, и получить объектные средства выделения.
-
Возвращается средство выделения раньше выделяло Базовый объект Основы.
Объявление
Swift
func CFGetAllocator(_cf: AnyObject!) -> CFAllocator!Objective C
CFAllocatorRef CFGetAllocator ( CFTypeRef cf );Параметры
cfCFType возражают для исследования.
Возвращаемое значение
Средство выделения раньше выделяло память для
cf.Обсуждение
При создании Базового объекта Основы иногда, Вы хотите гарантировать, что блок памяти, выделенной для объекта, от того же средства выделения, используемого для другого объекта. Один способ сделать это должно снова использовать средство выделения, присвоенное существующему Базовому объекту Основы при вызове функции «создания».
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает подсчет ссылок Базового объекта Основы.
Объявление
Swift
func CFGetRetainCount(_cf: AnyObject!) -> CFIndexПараметры
cfCFType возражают для исследования.
Возвращаемое значение
Число, представляющее подсчет ссылок
cf.Обсуждение
Вы постепенно увеличиваете подсчет ссылок с помощью
CFRetainфункция и декремент подсчет ссылок с помощьюCFReleaseфункция.Эта функция может полезный для отладки утечек памяти. Вы обычно не используете эту функцию, иначе.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Делает недавно выделенный Базовый объект Основы имеющим право на сборку «мусора».
Параметры
cfCFType возражает для создания предмета коллекционирования. Это значение не должно быть
NULL.Возвращаемое значение
cf.Обсуждение
Для получения дополнительной информации см. Руководство по программированию Сборки «мусора».
Специальные замечания
Если
cfNULL, это вызовет ошибку периода выполнения, и Ваше приложение откажет.Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.4 и позже.
-
Выпускает Базовый объект Основы.
Объявление
Objective C
void CFRelease ( CFTypeRef cf );Параметры
cfCFType возражает для выпуска. Это значение не должно быть
NULL.Обсуждение
Если сохранить количество
cfстановится нулем, память, выделенная объекту, освобождена, и объект уничтожается. Если Вы создаете, копируете, или явно сохраняете (см.CFRetainфункция) Базовый объект Основы, Вы ответственны за выпуск его, когда Вам больше не нужен он (см. Руководство по программированию управления памятью для Базовой Основы).Специальные замечания
Если
cfNULL, это вызовет ошибку периода выполнения, и Ваше приложение откажет.Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
-
Сохраняет Базовый объект Основы.
Параметры
cfCFType возражают для сохранения. Это значение не должно быть
NULLВозвращаемое значение
Входное значение,
cf.Обсуждение
Необходимо сохранить Базовый объект Основы при получении его откуда-либо (т.е. Вы не создавали или копировали его), и Вы хотите, чтобы он сохранился. При сохранении Базового объекта Основы, Вы ответственны за выпуск его (см. Руководство по программированию управления памятью для Базовой Основы).
Специальные замечания
Если
cfNULL, это вызовет ошибку периода выполнения, и Ваше приложение откажет.Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
-
Определяет, считают ли два Базовых объекта Основы равными.
Объявление
Swift
func CFEqual(_cf1: AnyObject!, _cf2: AnyObject!) -> BooleanПараметры
cf1CFType возражает для сравнения с
cf2.cf2CFType возражает для сравнения с
cf1.Возвращаемое значение
trueеслиcf1иcf2имеют тот же тип и рассмотренный равным, иначеfalse.Обсуждение
Равенство является чем-то определенным для каждой Базовой Основы непрозрачный тип. Например, два объекта CFNumber равны, если числовые значения, которые они представляют, равны. Два объекта CFString равны, если они представляют идентичные последовательности символов, независимо от кодирования.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает код, который может использоваться для идентификации объекта в структуре хеширования.
Объявление
Swift
func CFHash(_cf: AnyObject!) -> CFHashCodeObjective C
CFHashCode CFHash ( CFTypeRef cf );Параметры
cfCFType возражает для исследования.
Возвращаемое значение
Целое число типа
CFHashCodeэто представляет значение хеширования дляcf.Обсуждение
Два объекта, которые равны (как определено
CFEqualфункция), имеют то же значение хеширования. Однако обратное неверно: два объекта с тем же значением хеширования не могли бы быть равными. Т.е. хеширующие значения не обязательно уникальны.Значение хеширования для объекта могло бы измениться от выпуска до выпуска или от платформы до платформы.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает текстовое описание Базового объекта Основы.
Объявление
Swift
func CFCopyDescription(_cf: AnyObject!) -> CFString!Objective C
CFStringRef CFCopyDescription ( CFTypeRef cf );Параметры
cfОбъект CFType (общая ссылка типа
CFTypeRef) из которого можно получить описание.Возвращаемое значение
Строка, содержащая описание
cf. Владение соблюдает Создать Правило.Обсуждение
Природа описания отличается объектом. Например, описание объекта CFArray включало бы описания каждого из элементов в наборе.
Можно использовать эту функцию для отладки Базовых объектов Основы в коде. Отметьте, однако, что описание для данного объекта может отличаться в различных выпусках операционной системы. Не создавайте зависимости в своем коде содержания или формата информации, возвращенной этой функцией.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает текстовое описание Базового типа Основы, как идентифицировано его идентификатором типа, который может использоваться при отладке.
Объявление
Swift
func CFCopyTypeIDDescription(_theType: CFTypeID) -> CFString!Objective C
CFStringRef CFCopyTypeIDDescription ( CFTypeID type_id );Параметры
theTypeЦелое число типа
CFTypeIDэто однозначно определяет Базовую Основу непрозрачный тип.Возвращаемое значение
Строка, содержащая описание типа. Владение соблюдает Создать Правило.
Обсуждение
Можно использовать эту функцию для отладки Базовых объектов Основы в коде. Отметьте, однако, что описание для данного объекта может отличаться в различных выпусках операционной системы. Не создавайте зависимости в своем коде содержания или формата информации, возвращенной этой функцией.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает уникальный идентификатор непрозрачного типа, которому принадлежит Базовый объект Основы.
Объявление
Swift
func CFGetTypeID(_cf: AnyObject!) -> CFTypeIDПараметры
cfCFType возражают для исследования.
Возвращаемое значение
Значение типа
CFTypeIDэто идентифицирует непрозрачный типcf.Обсуждение
Эта функция возвращает значение, однозначно определяющее непрозрачный тип любого Базового объекта Основы. Можно сравнить это значение с известным
CFTypeIDидентификатор, полученный с функционально-специализированным «GetTypeID» к типу, напримерCFDateGetTypeID. Эти значения могли бы измениться от выпуска до выпуска или платформы на платформу.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Распечатывает описание Базового объекта Основы к stderr.
Параметры
objБазовый объект Основы произошел из CFType. Если
objне Базовый объект Основы, утверждение повышено.Обсуждение
Вывод распечатан к стандартной стандартной погрешности I/O (stderr).
Эта функция полезна как средство отладки для Базовых объектов Основы. Поскольку эти объекты основываются на непрозрачных типах, трудно исследовать их содержание непосредственно. Однако непрозрачная реализация типов
descriptionфункциональные обратные вызовы, возвращающие описания их объектов. Эта функция вызывает эти обратные вызовы.Специальные замечания
Можно использовать
CFShowодним из двух общих способов. Если Ваш отладчик поддерживает вызовы функции (такой какgdbделает), вызватьCFShowв отладчике:(gdb) call (void) CFShow(string)Hello World
Можно также включить вызовы к
CFShowв тестовой версии Вашего кода для распечатывания «снимков» Базовой Основы возражает против консоли.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Тип для хэш-кодов, возвращенных
CFHashфункция.Объявление
Swift
typealias CFHashCode = UIntObjective C
typedef unsigned long CFHashCode;Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Тип для уникальных, постоянных целочисленных значений, идентифицирующих определенную Базовую Основу непрозрачные типы.
Объявление
Swift
typealias CFTypeID = UIntObjective C
typedef unsigned long CFTypeID;Обсуждение
Определяет идентификатор типа в Базовой Основе. Идентификатор типа является целым числом, идентифицирующим непрозрачный тип, которому «принадлежит» Базовый объект Основы. Вы используете идентификаторы типов в различных контекстах, такой как тогда, когда Вы воздействуете на неоднородные наборы. Базовая Основа обеспечивает программируемые интерфейсы для получения и оценки идентификаторов типов.
Поскольку значение для идентификатора типа может измениться от выпуска до выпуска, Ваш код не должен полагаться на сохраненные или трудно кодированные идентификаторы типов, ни если это твердый код любые наблюдаемые свойства идентификатора типа (такой как, например, это являющийся маленьким целым числом).
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Невведенная «универсальная» ссылка на любой Базовый объект Основы.
Объявление
Swift
typealias CFTypeRef = AnyObjectObjective C
typedef const void * CFTypeRef;Обсуждение
CFTypeRefтип является базовым типом, определенным в Базовой Основе. Это используется в качестве типа и возвращаемого значения в нескольких полиморфных функциях. Это - ссылка родового объекта, действующая как заполнитель для других истинных Базовых объектов Основы.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
