我是一名初学Swift/iOS的新手,需要解决一个问题。我正在尝试从Texas Instrument SensorTag 2获取数据。根据说明书上的指导,为了激活一个传感器,我需要在我的传感器的配置库中写入二进制字符串。
这是我的代码片段:
对于每个传感器,如果我想启用传感器,则必须写入1,如果要禁用传感器,则必须写入0。但是对于运动传感器,我必须根据此指南编写16位(2字节)。对于我的配置,我必须写入二进制值0000000001111111,即0x007F。如何使用值0x007F初始化NSData对象?
这是我的代码片段:
if SensorTag.validConfigCharacteristic(thisCharacteristic) {
// Enable Sensor
let enableByte = SensorTag.getEnableByteFor(thisCharacteristic)
self.sensorTagPeripheral.writeValue(enableByte, forCharacteristic: thisCharacteristic, type: CBCharacteristicWriteType.WithResponse)
}
我编写了一个函数来获取要写入的值。enableByte
类型为NSData。
class func getEnableByteFor(thisCharacteristic: CBCharacteristic) -> NSData {
print(thisCharacteristic.UUID)
var enableValue = 0
if thisCharacteristic.UUID == MovementConfigUUID {
enableValue = ...
} else { // any other activation
enableValue = 1
}
return NSData(bytes: &enableValue, length: sizeof(UInt8))
}
对于每个传感器,如果我想启用传感器,则必须写入1,如果要禁用传感器,则必须写入0。但是对于运动传感器,我必须根据此指南编写16位(2字节)。对于我的配置,我必须写入二进制值0000000001111111,即0x007F。如何使用值0x007F初始化NSData对象?