特征属性枚举类型有:Read、Without ResponseWrite、Write、Notify
Read:读取数据但是不怎么更新的特征值。
Write Without Response:写入数据没有反馈。
Write:写入数据有反馈。
Notify:读取数据但经常更新。
typedef NS_ENUM(NSInteger, CBCharacteristicWriteType) {
CBCharacteristicWriteWithResponse = 0,
CBCharacteristicWriteWithoutResponse,
};
type参数可以为CBCharacteristicWriteWithResponse或type:CBCharacteristicWriteWithoutResponse,区别是给特征写入数据是否会有反馈。
- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type
如果设置为WithResponse,则可以写成功一次,只可读。
如果为WithoutResponse,则一次也不能写成功,可以读,也可以通知。
//只有 characteristic.properties 有write的权限才可以写,需要条件判断一下
if(_myCharacteristic.properties & CBCharacteristicPropertyWrite){
[_myPeripheral writeValue:sendData forCharacteristic:_myCharacteristic type:CBCharacteristicWriteWithResponse];
}else{
NSLog(@"该字段不可写!");
}