Ссылка CFNumber
CFNumber инкапсулирует скалярные (числовые) типы C. Это обеспечивает функции для установки и доступа к значению как любой основной тип C. Это также обеспечивает сравнить функцию для определения упорядочивания двух объектов CFNumber. Объекты CFNumber используются для обертывания численных значений для использования в Базовых списках свойств Основы и наборах.
Объекты CFNumber не предназначаются как замена для скалярных значений C и не должны использоваться в APIs или реализациях, где скалярные значения являются более надлежащими и эффективными.
CFNumber “бесплатный соединенный мостом” с его дубликатом Основы Какао, NSNumber. Это означает, что Базовый тип Основы является взаимозаменяемым в вызовах функции или вызовах метода с соединенным мостом объектом Основы. Поэтому в методе, где Вы видите NSNumber *
параметр, можно передать в a CFNumberRef
, и в функции, где Вы видите a CFNumberRef
параметр, можно передать в экземпляре NSNumber. Этот факт также применяется к конкретным подклассам NSNumber. Посмотрите Бесплатные Соединенные мостом Типы для получения дополнительной информации о бесплатном образовании моста.
-
Создает объект CFNumber использование указанного значения.
Объявление
Swift
func CFNumberCreate(_
allocator
: CFAllocator!, _theType
: CFNumberType, _valuePtr
: UnsafePointer<Void>) -> CFNumber!Objective C
CFNumberRef CFNumberCreate ( CFAllocatorRef allocator, CFNumberType theType, const void *valuePtr );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать средство выделения по умолчанию.theType
Константа, указывающая тип данных значения для преобразования. Посмотрите Типы Числа для списка возможных значений.
valuePtr
Указатель на значение для возвращенного объекта числа.
Возвращаемое значение
Новое число со значением, указанным
valuePtr
. Владение соблюдает Создать Правило.Обсуждение
theType
параметр не обязательно сохраняется при создании нового объекта CFNumber. Объект CFNumber будет создаваться с помощью любого типа внутренней памяти, который функция создания считает надлежащим. Используйте функциюCFNumberGetType
узнать, что вводит объект CFNumber, раньше хранило Ваше значение.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает число байтов, используемых объектом CFNumber сохранить его значение.
Объявление
Swift
func CFNumberGetByteSize(_
number
: CFNumber!) -> CFIndexObjective C
CFIndex CFNumberGetByteSize ( CFNumberRef number );
Параметры
number
CFNumber возражают для исследования.
Возвращаемое значение
Размер в байтах значения, содержавшегося в
number
.Обсуждение
Поскольку объект CFNumber мог бы сохранить значение с помощью типа, отличающегося от того из исходного значения, с которым это создавалось, эта функция может возвратить размер, отличающийся от размера типа исходного значения.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает тип, используемый объектом CFNumber сохранить его значение.
Объявление
Swift
func CFNumberGetType(_
number
: CFNumber!) -> CFNumberTypeObjective C
CFNumberType CFNumberGetType ( CFNumberRef number );
Параметры
number
CFNumber возражают для исследования.
Возвращаемое значение
Константа, указывающая тип данных значения, содержавшегося в
number
. Посмотрите Типы Числа для списка возможных значений.Обсуждение
Тип, указанный в вызове к
CFNumberCreate
не обязательно сохраняется, когда новый объект CFNumber создается — он использует любой тип внутренней памяти, который функция создания считает надлежащим.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Получает значение броска объекта CFNumber к указанному типу.
Объявление
Swift
func CFNumberGetValue(_
number
: CFNumber!, _theType
: CFNumberType, _valuePtr
: UnsafeMutablePointer<Void>) -> BooleanObjective C
Boolean CFNumberGetValue ( CFNumberRef number, CFNumberType theType, void *valuePtr );
Параметры
number
CFNumber возражают для исследования.
theType
Константа, указывающая тип данных для возврата. Посмотрите Типы Числа для списка возможных значений.
valuePtr
По возврату, содержит значение
number
.Возвращаемое значение
true
если работа была успешна, иначеfalse
.Обсуждение
Если тип аргумента отличается от типа возврата, и преобразование с потерями, или возвращаемое значение вне диапазона, то эта функция пасует назад приближенное значение в
valuePtr
и возвратыfalse
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Определяет, содержит ли объект CFNumber значение, сохраненное как один из определенных типов с плавающей точкой.
Объявление
Swift
func CFNumberIsFloatType(_
number
: CFNumber!) -> BooleanObjective C
Boolean CFNumberIsFloatType ( CFNumberRef number );
Параметры
number
CFNumber возражают для исследования.
Возвращаемое значение
true
еслиnumber
значение является одним из определенных типов с плавающей точкой, иначеfalse
. Допустимые типы с плавающей точкой перечислены в Типах Числа.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Сравнивает два объекта CFNumber и возвращает результат сравнения.
Объявление
Swift
func CFNumberCompare(_
number
: CFNumber!, _otherNumber
: CFNumber!, _context
: UnsafeMutablePointer<Void>) -> CFComparisonResultObjective C
CFComparisonResult CFNumberCompare ( CFNumberRef number, CFNumberRef otherNumber, void *context );
Параметры
number
Первые CFNumber возражают для сравнения.
otherNumber
Вторые CFNumber возражают для сравнения.
context
Передача
NULL
.Возвращаемое значение
A
CFComparisonResult
постоянный, который указывает лиnumber
равно, меньше, чем, или больше, чемotherNumber
.Обсуждение
При сравнении двух объектов CFNumber с помощью этой функции один или оба объекта могут представлять число особого случая такой, как подписано 0, подписанная бесконечность или NaN.
Соблюдающие правила применяются:
Отрицательный 0 сравнивает меньше, чем положительный 0.
Положительная бесконечность выдерживает сравнение больше, чем все кроме себя, с которым она выдерживает сравнение равный.
Отрицательная бесконечность сравнивает меньше, чем все кроме себя, с которым она выдерживает сравнение равный.
Если обоими числами является NaN, то они выдерживают сравнение равный.
Если только одним из чисел является NaN, то NaN выдерживает сравнение больше, чем другое число, если это отрицательно, и меньше, чем другое число, если это положительно.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает идентификатор типа для непрозрачного типа CFNumber.
Объявление
Swift
func CFNumberGetTypeID() -> CFTypeID
Objective C
CFTypeID CFNumberGetTypeID ( void );
Возвращаемое значение
Идентификатор типа для непрозрачного типа CFNumber.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Ссылка на объект CFNumber.
Объявление
Swift
typealias CFNumberRef = CFNumber
Objective C
typedef const struct __CFNumber *CFNumberRef;
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Флаги, используемые CFNumber для указания типа данных значения.
Объявление
Swift
enum CFNumberType : CFIndex { case SInt8Type case SInt16Type case SInt32Type case SInt64Type case Float32Type case Float64Type case CharType case ShortType case IntType case LongType case LongLongType case FloatType case DoubleType case CFIndexType case NSIntegerType case CGFloatType }
Objective C
enum CFNumberType { kCFNumberSInt8Type = 1, kCFNumberSInt16Type = 2, kCFNumberSInt32Type = 3, kCFNumberSInt64Type = 4, kCFNumberFloat32Type = 5, kCFNumberFloat64Type = 6, kCFNumberCharType = 7, kCFNumberShortType = 8, kCFNumberIntType = 9, kCFNumberLongType = 10, kCFNumberLongLongType = 11, kCFNumberFloatType = 12, kCFNumberDoubleType = 13, kCFNumberCFIndexType = 14, kCFNumberNSIntegerType = 15, kCFNumberCGFloatType = 16, kCFNumberMaxType = 16 }; typedef enum CFNumberType CFNumberType;
Константы
-
SInt8Type
kCFNumberSInt8Type
Восьмиразрядное, целое число со знаком.
SInt8
тип данных определяется вMacTypes.h
.Доступный в OS X v10.0 и позже.
-
SInt16Type
kCFNumberSInt16Type
Шестнадцатиразрядное, целое число со знаком.
SInt16
тип данных определяется вMacTypes.h
.Доступный в OS X v10.0 и позже.
-
SInt32Type
kCFNumberSInt32Type
Тридцатидвухбитовое, целое число со знаком.
SInt32
тип данных определяется вMacTypes.h
.Доступный в OS X v10.0 и позже.
-
SInt64Type
kCFNumberSInt64Type
Шестидесятичетырехразрядное, целое число со знаком.
SInt64
тип данных определяется вMacTypes.h
.Доступный в OS X v10.0 и позже.
-
Float32Type
kCFNumberFloat32Type
Тридцатидвухбитовый реальный.
Float32
тип данных определяется вMacTypes.h
.Доступный в OS X v10.0 и позже.
-
Float64Type
kCFNumberFloat64Type
Шестидесятичетырехразрядный реальный.
Float64
тип данных определяется вMacTypes.h
и соответствует 64-разрядному стандарту IEEE 754.Доступный в OS X v10.0 и позже.
-
CharType
kCFNumberCharType
Основной C
char
ввести.Доступный в OS X v10.0 и позже.
-
ShortType
kCFNumberShortType
Основной C
short
ввести.Доступный в OS X v10.0 и позже.
-
IntType
kCFNumberIntType
Основной C
int
ввести.Доступный в OS X v10.0 и позже.
-
LongType
kCFNumberLongType
Основной C
long
ввести.Доступный в OS X v10.0 и позже.
-
LongLongType
kCFNumberLongLongType
Основной C
long long
ввести.Доступный в OS X v10.0 и позже.
-
FloatType
kCFNumberFloatType
Основной C
float
ввести.Доступный в OS X v10.0 и позже.
-
DoubleType
kCFNumberDoubleType
Основной C
double
ввести.Доступный в OS X v10.0 и позже.
-
CFIndexType
kCFNumberCFIndexType
Значение CFIndex.
Доступный в OS X v10.0 и позже.
-
NSIntegerType
kCFNumberNSIntegerType
NSInteger
значение.Доступный в OS X v10.5 и позже.
-
CGFloatType
kCFNumberCGFloatType
CGFloat
значение.Доступный в OS X v10.5 и позже.
-
kCFNumberMaxType
kCFNumberMaxType
То же как
kCFNumberCGFloatType
.Обратите внимание на то, что на OS X v10.4,
kCFNumberMaxType
совпал сkCFNumberCFIndexType
.Доступный в OS X v10.0 и позже.
Обсуждение
Тип, указанный в вызове к
CFNumberCreate
не обязательно сохраняется при создании нового объекта CFNumber. Использование объекта CFNumber любая внутренняя память вводит функцию создания, считает надлежащим. ИспользуйтеCFNumberGetType
функция для обнаружения, что вводит объект CFNumber, раньше хранила значение.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
-
CFNumber обеспечивает некоторые предопределенные числовые значения.
Объявление
Swift
let kCFNumberNaN: CFNumber! let kCFNumberNegativeInfinity: CFNumber! let kCFNumberPositiveInfinity: CFNumber!
Objective C
const CFNumberRef kCFNumberNaN; const CFNumberRef kCFNumberNegativeInfinity; const CFNumberRef kCFNumberPositiveInfinity;
Константы
-
kCFNumberNaN
kCFNumberNaN
“Не Число”. Это значение часто является результатом недопустимой работы, такой как квадратный корень отрицательного числа.
Доступный в OS X v10.0 и позже.
-
kCFNumberNegativeInfinity
kCFNumberNegativeInfinity
Определяет отрицательное значение бесконечности.
Доступный в OS X v10.0 и позже.
-
kCFNumberPositiveInfinity
kCFNumberPositiveInfinity
Определяет положительное значение бесконечности.
Доступный в OS X v10.0 и позже.
-