蓝牙--CBCharacteristic笔记

/*  @class CBCharacteristic

*  @discussion

*代表一个服务的特征

*/

@interfaceCBCharacteristic :NSObject

//表明这个属于哪个service

@property(weak,readonly,nonatomic)CBService*service;

//characteristic的UUID标识

@property(readonly,nonatomic)CBUUID*UUID;

// characteristic的属性,是一个结构体

typedefNS_OPTIONS(NSInteger, CBCharacteristicProperties) {

// 标识这个characteristic的属性是广播

CBCharacteristicPropertyBroadcast=0x01,

// 标识这个characteristic的属性是读

CBCharacteristicPropertyRead=0x02,

// 标识这个characteristic的属性是写-没有响应

CBCharacteristicPropertyWriteWithoutResponse=0x04,

// 标识这个characteristic的属性是写

CBCharacteristicPropertyWrite=0x08,

// 标识这个characteristic的属性是通知

CBCharacteristicPropertyNotify=0x10,

// 标识这个characteristic的属性是声明

CBCharacteristicPropertyIndicate=0x20,

// 标识这个characteristic的属性是通过验证的

CBCharacteristicPropertyAuthenticatedSignedWrites=0x40,

// 标识这个characteristic的属性是拓展

CBCharacteristicPropertyExtendedProperties=0x80,

// 标识这个characteristic的属性是需要加密的通知

CBCharacteristicPropertyNotifyEncryptionRequiredNS_ENUM_AVAILABLE(NA,6_0)=0x100,

// 标识这个characteristic的属性是需要加密的申明

CBCharacteristicPropertyIndicateEncryptionRequiredNS_ENUM_AVAILABLE(NA,6_0)=0x200

};

@property(readonly,nonatomic)CBCharacteristicPropertiesproperties;

// characteristic的值

@property(retain,readonly)NSData*value;

// * *

@property(retain,readonly)NSArray*descriptors;

//特征是否正在广播

@property(readonly)BOOLisBroadcasted;

// 特征是否正在通知

@property(readonly)BOOLisNotifying;

@interfaceCBMutableCharacteristic :CBCharacteristic

// 权限

typedefNS_OPTIONS(NSInteger, CBAttributePermissions) {

//可读的

CBAttributePermissionsReadable=0x01,

//可写的

CBAttributePermissionsWriteable=0x02,

//需验证

CBAttributePermissionsReadEncryptionRequired=0x04,

CBAttributePermissionsWriteEncryptionRequired=0x08

}

@property(assign,readwrite,nonatomic)CBAttributePermissionspermissions;

//订阅这个characteristic的central

@property(retain,readonly)NSArray*subscribedCentrals

@property(retain,readwrite,nonatomic)CBUUID*UUID;

@property(assign,readwrite,nonatomic)CBCharacteristicPropertiesproperties;

@property(retain,readwrite)NSData*value;

@property(retain,readwrite)NSArray*descriptors;

- (id)initWithType:(CBUUID*)UUID properties:(CBCharacteristicProperties)properties value:(NSData*)value permissions:(CBAttributePermissions)permissions;

你可能感兴趣的:(蓝牙--CBCharacteristic笔记)