IOBluetoothSDPDataElement
Экземпляр этого класса представляет единственный элемент данных SDP, как определено Bluetooth спецификация SDP.
Типы данных, описанные спецификацией, были отображены на основные Фундаментальные классы NSNumber, NSArray, NSData, а также IOBluetoothSDPUUID. Число и булевы типы (вводят дескриптор 1, 2 и 5) представлены как объекты NSNumber за исключением 128-разрядных чисел, представленных как объекты NSData в их необработанном формате. Тип UUID (вводят дескриптор 3) представлен IOBluetoothSDPUUID. Строка и типы URL (вводят дескриптор 4 и 8) представлены NSString. Типы последовательности (вводят дескриптор 6 и 7) представлены NSArray.
Как правило, Вы не должны будете создавать IOBluetoothSDPDataElement непосредственно, система сделает это автоматически для обеих операций клиента и сервера. Однако текущий API для добавления служб SDP к системе действительно позволяет использование NSDictionary базируемый формат для создания новых служб. Цель для этого состоит в том, чтобы позволить службе быть накопленной полностью в текстовом файле (plist, например) и затем легко импортированной в приложение и добавленной к системе без большого количества утомительного кода для роста всей служебной книжки SDP.
Основание, для которого структура NSDictionary прибывает из IOBluetoothSDPDataElement. В его самом простом элемент данных составлен из трех частей: дескриптор типа, размер (от которого дескриптор размера сгенерирован), и фактическое значение. Для обеспечения полного представления элемента данных NSDictionary с тремя записями может использоваться. Каждая из этих трех записей имеет пару ключ/значение, представляющую один из трех атрибутов элемента данных. Первая пара ключ/значение имеет ключ 'DataElementType', содержащий числовое значение с фактическим дескриптором типа для элемента данных. Вторая пара имеет ключ 'DataElementSize', содержащий фактический размер элемента в байтах. Дескриптор размера будет вычислен на основе размера и типа элемента. Третья пара является самим значением, ключом которого является 'DataElementValue' и чей тип соответствует типу, отображающемуся выше.
В дополнение к этому полному описанию элемента данных, их некоторые ярлыки, которые могут использоваться для некоторых общих типов и размеров.
Если значение 'DataElementType' является одним из числовых типов (1, 2), 'DataElementValue' может быть NSData вместо NSNumber. В этом случае числовые данные взяты в сетевом порядке байтов (MSB сначала). Кроме того, параметр 'DataElementSize' может быть опущен, и размер будет взят от длины объекта данных.
Если значение 'DataElementType' является нулевым типом (0), никакие записи 'DataElementSize' или 'DataElementValue' не необходимы.
Если значение 'DataElementType' является каким-либо из других типов, запись 'DataElementSize' не необходима, так как размер будет взят непосредственно от значения (данные, массив, строка).
В случае, где элемент является 32-разрядным целым числом без знака (вводят дескриптор 1, дескриптор размера 4), само значение может просто быть числом (вместо словаря как в предыдущих примерах). В случае, где элемент является UUID (вводят дескриптор 3), само значение может быть объектом данных. Тип UUID будет выведен и размер, взятый от длины объекта данных.
В случае, где элемент является текстовой строкой (вводят дескриптор 4), значение может быть строковым объектом. Тип текстовой строки будет выведен и размер, взятый от длины строки.
В случае, где элемент является последовательностью элемента данных, значение может быть объектом массива. Тип будет выведен и размер, взятый от длины массива. Кроме того, массив должен содержать подэлементы, которые будут проанализированы индивидуально.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSObject
Оператор импорта
Swift
import IOBluetooth
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.2 и позже.
-
Проверки, чтобы видеть, совпадает ли целевой элемент данных с dataElement параметром или если это содержит dataElement параметр (если тип последовательности).
Объявление
Swift
func containsDataElement(_
dataElement
: IOBluetoothSDPDataElement!) -> BoolObjective C
- (BOOL)containsDataElement:(IOBluetoothSDPDataElement *)
dataElement
Параметры
dataElement
Элемент данных для сравнения (и поиск).
Возвращаемое значение
Возвращает TRUE, если цель или соответствует элемент определенных данных или если это содержит элемент определенных данных.
Обсуждение
Если целевой элемент данных не является типом последовательности, этот метод просто сравнивает эти два элемента данных. Если это будет тип последовательности, то это перероет последовательность (и подпоследовательности) для dataElement параметра.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Проверки, чтобы видеть, совпадает ли значение целевого элемента данных с параметром, передаваемым по значению или если это содержит параметр, передаваемый по значению.
Объявление
Swift
func containsValue(_
cmpValue
: NSObject!) -> BoolObjective C
- (BOOL)containsValue:(NSObject *)
cmpValue
Параметры
cmpValue
Значение для сравнения (и поиск).
Возвращаемое значение
Возвращает TRUE, если значение цели или соответствует данное значение или если это содержит данное значение.
Обсуждение
Этот метод работы точно так же, как-containsDataElement: за исключением того, что это сравнивает объекты значения непосредственно.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Если элемент данных представлен объектом массива, он возвращает значение как NSArray.
Возвращаемое значение
Возвращает представление NSArray элемента данных, если это - тип последовательности.
Обсуждение
Типы данных, представленные объектом массива, равняются 6 (последовательность элемента данных) и 7 (альтернатива элемента данных).
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Если элемент данных представлен объектом данных, он возвращает значение как NSData.
Возвращаемое значение
Возвращает представление NSData элемента данных, если это - 128-разрядное число.
Обсуждение
Типы данных, представленные объектом данных, являются 128-разрядными версиями 1 (интервал без знака) и 2 (подписанный интервал).
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Если элемент данных представлен числом, он возвращает значение как NSNumber.
Возвращаемое значение
Возвращает представление NSNumber элемента данных, если это - числовой тип.
Обсуждение
Типы данных, представленные числом, равняются 1 (интервал без знака), 2 (подписанный интервал) и 5 (булевская переменная) за исключением 128-разрядных версий 1 и 2.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает представление IOBluetoothSDPDataElementRef целевого объекта IOBluetoothSDPDataElement.
Объявление
Swift
func getSDPDataElementRef() -> Unmanaged<IOBluetoothSDPDataElement>!
Objective C
- (IOBluetoothSDPDataElementRef)getSDPDataElementRef
Возвращаемое значение
Возвращает представление IOBluetoothSDPDataElementRef целевого объекта IOBluetoothSDPDataElement.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает размер в байтах целевого элемента данных.
Объявление
Swift
func getSize() -> UInt32
Objective C
- (uint32_t)getSize
Возвращаемое значение
Возвращает размер в байтах целевого элемента данных.
Обсуждение
Размер допустим, имеет ли элемент данных фиксированный или переменный дескриптор размера.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращается спецификация SDP определила дескриптор размера элемента данных для целевого элемента данных.
Объявление
Swift
func getSizeDescriptor() -> BluetoothSDPDataElementSizeDescriptor
Objective C
- (BluetoothSDPDataElementSizeDescriptor)getSizeDescriptor
Возвращаемое значение
Возвращает дескриптор размера для целевого элемента данных.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Если элемент данных представлен строковым объектом, он возвращает значение как NSString.
Возвращаемое значение
Возвращает представление NSString элемента данных, если это - тип URL или текст.
Обсуждение
Типы данных, представленные строковым объектом, 4 (текстовая строка) и 8 (URL).
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращается спецификация SDP определила дескриптор типа элемента данных для целевого элемента данных.
Объявление
Swift
func getTypeDescriptor() -> BluetoothSDPDataElementTypeDescriptor
Objective C
- (BluetoothSDPDataElementTypeDescriptor)getTypeDescriptor
Возвращаемое значение
Возвращает дескриптор типа для целевого элемента данных.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Если элемент данных является UUID (тип 3), он возвращает значение как IOBluetoothSDPUUID.
Объявление
Swift
func getUUIDValue() -> IOBluetoothSDPUUID!
Objective C
- (IOBluetoothSDPUUID *)getUUIDValue
Возвращаемое значение
Возвращает представление IOBluetoothSDPUUID элемента данных, если это - UUID.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Возвращает объектное значение элемента данных.
Возвращаемое значение
Возвращает объектное значение целевого элемента данных.
Обсуждение
Значение возвратилось, может быть NSNumber, NSString, NSData, NSArray или IOBluetoothSDPDataElement в зависимости от типа элемента данных.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Инициализирует новый IOBluetoothSDPDataElement с данным значением.
Объявление
Swift
init!(elementValue
element
: NSObject!)Objective C
- (instancetype)initWithElementValue:(NSObject *)
element
Параметры
element
Значение элемента данных одного из указанных типов.
Возвращаемое значение
Возвраты сам в случае успеха. Ноль возвратов, если была ошибка при парсинге значения элемента.
Обсуждение
Значение должно следовать за упомянутым выше форматом и должно быть экземпляром NSData, NSString, NSNumber, NSArray, NSDictionary, IOBluetoothSDPUUID.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Инициализирует новый IOBluetoothSDPDataElement с данными атрибутами.
Объявление
Swift
init!(type
typeDescriptor
: BluetoothSDPDataElementTypeDescriptor, sizeDescriptorsizeDescriptor
: BluetoothSDPDataElementSizeDescriptor, sizesize
: UInt32, valuevalue
: NSObject!)Objective C
- (instancetype)initWithType:(BluetoothSDPDataElementTypeDescriptor)
typeDescriptor
sizeDescriptor:(BluetoothSDPDataElementSizeDescriptor)sizeDescriptor
size:(uint32_t)size
value:(NSObject *)value
Параметры
typeDescriptor
Дескриптор типа для элемента данных.
sizeDescriptor
Дескриптор размера для элемента данных (проверяют его, соответствует параметр размера).
size
Размер элемента данных в байтах (удостоверяются, что это - допустимый размер для данного дескриптора размера).
value
Само необработанное значение. Это должно быть основным NSString, NSNumber, NSArray или объектами NSData. Это может не быть NSDictionary. Если формат словаря присутствует, используйте +withElementValue:.
Возвращаемое значение
Возвраты сам в случае успеха. Ноль возвратов, если с ошибкой встречаются (вряд ли вследствие ограниченной проверки ошибок, в настоящее время делавшейся).
Обсуждение
Предупреждение - быть тщательным использованием этого метода. Нет рядом ни с какой проверкой ошибок, сделанной на атрибутах. Полностью возможно создать недопустимый элемент данных. Рекомендуется что +withElementValue: используйтесь вместо этого.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Создает новый IOBluetoothSDPDataElement с данным значением.
Объявление
Swift
class func withElementValue(_
element
: NSObject!) -> Self!Objective C
+ (instancetype)withElementValue:(NSObject *)
element
Параметры
element
Значение элемента данных одного из указанных типов.
Возвращаемое значение
Возвращает недавно выделенный объект элемента данных. Ноль возвратов, если была ошибка при парсинге значения элемента. Возвращенный объект IOBluetoothSDPDataElement был автовыпущен, таким образом, не необходимо для вызывающей стороны выпустить его. Если на объект состоит в том, чтобы быть сослан и иметь в наличии, сохранить, должен быть вызван.
Обсуждение
Значение должно следовать за упомянутым выше форматом и должно быть экземпляром NSData, NSString, NSNumber, NSArray, NSDictionary, IOBluetoothSDPUUID.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Вызов метода для преобразования IOBluetoothSDPDataElementRef в IOBluetoothSDPDataElement *.
Объявление
Swift
class func withSDPDataElementRef(_
sdpDataElementRef
: IOBluetoothSDPDataElement!) -> Self!Objective C
+ (instancetype)withSDPDataElementRef:(IOBluetoothSDPDataElementRef)
sdpDataElementRef
Параметры
sdpDataElementRef
IOBluetoothSDPDataElementRef, для которого желаем IOBluetoothSDPDataElement *.
Возвращаемое значение
Возвращает IOBluetoothSDPDataElement * для данного IOBluetoothSDPDataElementRef.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Создает новый IOBluetoothSDPDataElement с данными атрибутами.
Объявление
Swift
class func withType(_
typeDescriptor
: BluetoothSDPDataElementTypeDescriptor, sizeDescriptorsizeDescriptor
: BluetoothSDPDataElementSizeDescriptor, sizesize
: UInt32, valuevalue
: NSObject!) -> Self!Objective C
+ (instancetype)withType:(BluetoothSDPDataElementTypeDescriptor)
typeDescriptor
sizeDescriptor:(BluetoothSDPDataElementSizeDescriptor)sizeDescriptor
size:(uint32_t)size
value:(NSObject *)value
Параметры
typeDescriptor
Дескриптор типа для элемента данных.
sizeDescriptor
Дескриптор размера для элемента данных (проверяют его, соответствует параметр размера).
size
Размер элемента данных в байтах (удостоверяются, что это - допустимый размер для данного дескриптора размера).
value
Само необработанное значение. Это должно быть основным NSString, NSNumber, NSArray или объектами NSData. Это может не быть NSDictionary. Если формат словаря присутствует, используйте +withElementValue:.
Возвращаемое значение
Возвращает недавно выделенный объект элемента данных. Ноль возвратов, если с ошибкой встречаются (вряд ли вследствие ограниченной проверки ошибок, в настоящее время делавшейся). Возвращенный объект IOBluetoothSDPDataElement был автовыпущен, таким образом, не необходимо для вызывающей стороны выпустить его. Если на объект состоит в том, чтобы быть сослан и иметь в наличии, сохранить, должен быть вызван.
Обсуждение
Предупреждение - быть тщательным использованием этого метода. Нет рядом ни с какой проверкой ошибок, сделанной на атрибутах. Полностью возможно создать недопустимый элемент данных. Рекомендуется что +withElementValue: используйтесь вместо этого.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.