CBMutableCharacteristic
CBMutableCharacteristic объекты представляют характеристики службы локального периферийного устройства (локальные периферийные устройства представлены CBPeripheralManager объекты). Этот класс добавляет доступ для записи ко многим свойствам в CBCharacteristic класс это наследовалось от.
Вы используете этот класс, чтобы создать характеристику и установить ее свойства и полномочия, как желаемый. После того, как Вы создадите характеристику и добавите его к локальной службе, можно опубликовать его (и служба) к локальной базе данных периферийного устройства с помощью addService: метод CBPeripheralManager класс. После публикации характеристики характеристика кэшируется, и Вы больше не можете вносить изменения в нее.
Наследование
-
NSObject -
CBCharacteristic -
CBMutableCharacteristic
-
NSObject -
CBCharacteristic -
CBMutableCharacteristic
Оператор импорта
Swift
import CoreBluetooth
Objective C
@import CoreBluetooth;
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает недавно инициализированную непостоянную характеристику с указанными полномочиями, свойствами и значением.
Объявление
Swift
init!(typeUUID: CBUUID!, propertiesproperties: CBCharacteristicProperties, valuevalue: NSData!, permissionspermissions: CBAttributePermissions)Objective C
- (id)initWithType:(CBUUID *)UUIDproperties:(CBCharacteristicProperties)propertiesvalue:(NSData *)valuepermissions:(CBAttributePermissions)permissionsПараметры
UUID128-разрядный UUID, идентифицирующий характеристику.
propertiesСвойства характеристики.
valueХарактеристическое значение, которое будет кэшироваться. Если
nil, значение является динамичным и будет требоваться по требованию.permissionsПолномочия характеристического значения.
Возвращаемое значение
Недавно инициализированная непостоянная характеристика.
Обсуждение
При указании значения для характеристики значение кэшируется и его свойства, и полномочия установлены в
CBCharacteristicPropertyReadиCBAttributePermissionsReadable, соответственно. Поэтому при необходимости в значении характеристики, чтобы быть writeable, или если Вы ожидаете, что значение изменится во время времени жизни опубликованной службы, которой принадлежит характеристика, необходимо указать значение, чтобы бытьnil. Так выполнение гарантирует, что значение обрабатывает динамично и требует периферийный менеджер каждый раз, когда периферийный менеджер получает чтение или запрос записи от центрального. Когда периферийный менеджер получает чтение или запрос записи от центрального, он вызываетperipheralManager:didReceiveReadRequest:илиperipheralManager:didReceiveWriteRequests:методы его объекта делегата, соответственно.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Специфичный для Bluetooth UUID характеристики.
Обсуждение
Это свойство является 128-разрядным UUID, идентифицирующим характеристику.
Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Значение характеристики.
Обсуждение
Это свойство содержит значение характеристики. Например, характеристика измерения температуры медицинской службы термометра может иметь значение, указывающее температуру в Цельсия.
Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
дескрипторы дескрипторыСвойствоСписок дескрипторов, описывающих характеристику.
Объявление
Swift
var descriptors: [AnyObject]!Objective C
@property(retain, readwrite) NSArray *descriptorsОбсуждение
Значение этого свойства является массивом
CBDescriptorобъекты, представляющие дескрипторы характеристики. Характерные дескрипторы предоставляют больше информации о значении характеристики. Например, они могут описать значение в человекочитаемой форме и описать, как значение должно быть отформатировано в целях представления. Для получения дополнительной информации о характерных дескрипторах, см. Ссылку класса CBDescriptor.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Свойства характеристики.
Объявление
Swift
var properties: CBCharacteristicPropertiesObjective C
@property(assign, readwrite, nonatomic) CBCharacteristicProperties propertiesОбсуждение
Свойства характеристики определяют, как значение и дескрипторы характеристики могут использоваться и получаться доступ. Характерные свойства
CBCharacteristicPropertyBroadcastиCBCharacteristicPropertyExtendedPropertiesне позволяются для непостоянных характеристик. Т.е. Вы не можете установить эти свойства при инициализации aCBMutableCharacteristicобъект с помощьюinitWithType:properties:value:permissions:метод. Для списка возможных значений, представляющих свойства характеристики, посмотритеCBCharacteristicPropertiesперечисление в Ссылке класса CBCharacteristic.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
полномочия полномочияСвойствоПолномочия характеристического значения.
Объявление
Swift
var permissions: CBAttributePermissionsObjective C
@property(assign, readwrite, nonatomic) CBAttributePermissions permissionsОбсуждение
Характерные полномочия представляют чтение, пишут, и полномочия шифрования для значения характеристики. Для полного списка и обсуждения характерных полномочий, которые могут быть установлены, см. Полномочия Характеристического значения.
Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
subscribedCentrals subscribedCentralsСвойствоСписок centrals в настоящее время подписывался на значение характеристики. (только для чтения)
Объявление
Swift
var subscribedCentrals: [AnyObject]! { get }Objective C
@property(retain, readonly) NSArray *subscribedCentralsОбсуждение
Значение этого свойства является массивом
CBCentralобъекты, в настоящее время подписывающиеся на значение характеристики. Если характеристика не сконфигурирована для поддержки уведомлений или признаков, массив пуст. Даже если характеристика сконфигурирована для поддержки уведомлений или признаков, массив пуст, если никакие centrals в настоящее время не подписываются на значение характеристики.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
Значения, представляющие чтение, запишите, и полномочия шифрования для значения характеристики.
Объявление
Swift
enum CBAttributePermissions : Int { case Readable case Writeable case ReadEncryptionRequired case WriteEncryptionRequired }Objective C
typedef enum { CBAttributePermissionsReadable = 0x01, CBAttributePermissionsWriteable = 0x02, CBAttributePermissionsReadEncryptionRequired = 0x04, CBAttributePermissionsWriteEncryptionRequired = 0x08, } CBAttributePermissions;Константы
-
ReadableCBAttributePermissionsReadableЗначение характеристики имеет разрешение только для чтения.
Доступный в OS X v10.9 и позже.
-
WriteableCBAttributePermissionsWriteableЗначение характеристики имеет разрешение только для записи.
Доступный в OS X v10.9 и позже.
-
ReadEncryptionRequiredCBAttributePermissionsReadEncryptionRequiredЗначение характеристики читаемо только доверенными устройствами.
Доступный в OS X v10.9 и позже.
-
WriteEncryptionRequiredCBAttributePermissionsWriteEncryptionRequiredЗначение характеристики writeable только доверенными устройствами.
Доступный в OS X v10.9 и позже.
Обсуждение
При инициализации новой непостоянной характеристики Вы устанавливаете чтение, пишете, и полномочия шифрования для значения характеристики. Установка чтения и полномочий записи для значения характеристики отличается от указания чтения и свойств записи для значения характеристики. Указание чтения и свойств записи для значения характеристики позволяет клиенту (центральное) знают то, что читает и пишет, что установлены полномочия значения характеристики. Указание чтения и полномочий записи для значения характеристики фактически устанавливает полномочия для сервера (периферийное устройство) для разрешения типа чтения или записи, указанной свойствами характеристики. Поэтому при указании чтения или свойств записи при инициализации непостоянной характеристики необходимо также указать соответствующее чтение или полномочия записи для той характеристики. Если Вы хотите осуществить требования шифрования для чтений и записей на значении характеристики, необходимо сделать так путем указания соответствующего разрешения (
CBAttributePermissionsReadEncryptionRequiredилиCBAttributePermissionsWriteEncryptionRequired). Можно установить больше чем одно разрешение для значения характеристики.Оператор импорта
Objective C
@import CoreBluetooth;Swift
import CoreBluetoothДоступность
Доступный в OS X v10.9 и позже.
-
