Я пытаюсь что-то прочитать и написать в CoreBluetooth
Итак, мое устройство (периферийное устройство) отправляет мне длину массива и массив как единое целое.
Я читаю значение этим методом
(void)readValueForCharacteristic:(CBCharacteristic *)characteristic;
когда я получаю ответ от периферийного устройства,
(void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;
вызывает Когда я читаю одно значение, это не проблема
char arrayLength;
charakteristik.value getBytes:&arrayLength lenght:SERVICE_ARRAYLENGTH_LEN]
self.MyArrayLenght=(float)arrayLength;
-
Но когда я получаю массив из периферийного устройства, я не знаю, как их читать
характеристика.value is NSData
когда я пытаюсь
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:charakteristik.value]
я получаю ошибку
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0x4e, 0x49, 0x42, 0x41, 0x72, 0x63, 0x68, 0x69)'
Гекс (0x4e, 0x49, 0x42, 0x41, 0x72, 0x63, 0x68, 0x69 .......) это данные, которые я хочу прочитать, а затем показать
Как я могу прочитать NSData?Или Как я могу преобразовать NSData в NSArray?
Редактировать: проблема решена