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!(type
UUID
: CBUUID!, propertiesproperties
: CBCharacteristicProperties, valuevalue
: NSData!, permissionspermissions
: CBAttributePermissions)Objective C
- (id)initWithType:(CBUUID *)
UUID
properties:(CBCharacteristicProperties)properties
value:(NSData *)value
permissions:(CBAttributePermissions)permissions
Параметры
UUID
128-разрядный 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: CBCharacteristicProperties
Objective 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: CBAttributePermissions
Objective 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;
Константы
-
Readable
CBAttributePermissionsReadable
Значение характеристики имеет разрешение только для чтения.
Доступный в OS X v10.9 и позже.
-
Writeable
CBAttributePermissionsWriteable
Значение характеристики имеет разрешение только для записи.
Доступный в OS X v10.9 и позже.
-
ReadEncryptionRequired
CBAttributePermissionsReadEncryptionRequired
Значение характеристики читаемо только доверенными устройствами.
Доступный в OS X v10.9 и позже.
-
WriteEncryptionRequired
CBAttributePermissionsWriteEncryptionRequired
Значение характеристики writeable только доверенными устройствами.
Доступный в OS X v10.9 и позже.
Обсуждение
При инициализации новой непостоянной характеристики Вы устанавливаете чтение, пишете, и полномочия шифрования для значения характеристики. Установка чтения и полномочий записи для значения характеристики отличается от указания чтения и свойств записи для значения характеристики. Указание чтения и свойств записи для значения характеристики позволяет клиенту (центральное) знают то, что читает и пишет, что установлены полномочия значения характеристики. Указание чтения и полномочий записи для значения характеристики фактически устанавливает полномочия для сервера (периферийное устройство) для разрешения типа чтения или записи, указанной свойствами характеристики. Поэтому при указании чтения или свойств записи при инициализации непостоянной характеристики необходимо также указать соответствующее чтение или полномочия записи для той характеристики. Если Вы хотите осуществить требования шифрования для чтений и записей на значении характеристики, необходимо сделать так путем указания соответствующего разрешения (
CBAttributePermissionsReadEncryptionRequired
илиCBAttributePermissionsWriteEncryptionRequired
). Можно установить больше чем одно разрешение для значения характеристики.Оператор импорта
Objective C
@import CoreBluetooth;
Swift
import CoreBluetooth
Доступность
Доступный в OS X v10.9 и позже.
-