-(void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
dispatch_async(dispatch_get_main_queue(), ^{
NSData *data = characteristic.value;
uint8_t *array = (uint8_t*) data.bytes;
cadenceValue = [CharacteristicReader readUInt8Value:&array];
self.cadence.text = [NSString stringWithFormat:@"%d", cadenceValue];
});
}
Wie Kadenz von bLE (Bluetooth low energy) Gerät in swift 2 zu bekommen. Ich kann keinen genauen Code dafür finden. Dazu wird die Delegate-Methode didUpdateValueForCharacteristic
aufgerufen.Cadence von BLE Geräte
Ich habe einen Code von nRF Toolbox, aber es ist in Ziel c oder swift 3 aber mein Projekt ist in swift 2. Ich versuchte, objective c-Methode mit Bridging-Header aufrufen, aber es wurde immer 0 Trittfrequenz zurückgegeben.
Wie sieht der Swift 3-Beispielcode aus? – davidgyoung
Erste Fehler bei bindMemory und pointee in schnellen 2 // auf didUpdateValueForCharacteristic lassen data = characteristic.value var array = UnsafeMutablePointer (mutierenden: (Daten als NSData) .bytes.bindMemory (an: UInt8. Selbst, Kapazität: Daten! .count)) self.cadenceValue = NORCharacteristicReader.readUInt8Value (ptr: & Array) // Methode. statische func readUInt8Value (ptr APointer: inout UnsafeMutablePointer ) -> UInt8 { lassen val = aPointer.pointee APointer = aPointer.successor() return val } @davidgyoung –
Ved
Problem obigen Code zu konvertieren @davidgyoung zugewandt In swift 2 ist Problem mit aPointer.poittee und bindMemory – Ved