我正在玩Apple示例代码BTLE_TRANSFER https://developer.apple.com/library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html 在示例中,iOS设备" A"发送到另一个iOS设备" B"一些" text" (NSString)当B(中央)订阅" A"的特征时(外周)。 (数据被分割成碎片,然后逐件发送,直到另一方收到所有内容)
我修改了代码以使用UIImageJPEGRepresentation方法传输图像并且工作正常(但是当图像大小超过2 ko时需要很长时间)
现在我想尝试传输一组不同的对象,如text,image。
我在didSubscribeToCharacteristic方法(外围设备管理器端)中尝试了以下代码:
NSArray *MyArray;
MyArray = [[NSArray alloc]initWithObjects:@"Text1", @"Text2", nil];
_dataToSend = [NSKeyedArchiver archivedDataWithRootObject:MyArray];
其中_dataToSend是发送的NSData
以下代码中的didUpdateValueForCharacteristic方法(中心端 - 外围代理):
NSArray *My2Array = [NSKeyedUnarchiver unarchiveObjectWithData:_dataReceived];
NSLog(@"%@",[My2Array objectAtIndex:1]);
其中_dataReceived是收到的NSData
每件都在中央收到,但有些部分是" null"当我尝试将数据解压缩到nsarray时,它表示数据为NULL。
我使用了错误的方法吗? 有没有其他方法可以将nsarray放入nsdata?
感谢您的帮助
麦
答案 0 :(得分:0)
代码实际上正在运行......我只是从地面重新输入所有内容 抱歉打扰