[英]BTLE Corebluetooth iOS Transfer an array
我正在使用Apple示例代碼BTLE_TRANSFER https://developer.apple.com/library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html在示例中,一個iOS設備“ A”向另一個iOS設備“ B”發送了一些B(中央)訂閱“ A”(外圍)的特征時的“文本”(NSString)。 (數據被分成幾部分,然后逐個發送,直到另一端接收到所有數據為止)
我修改了代碼以使用UIImageJPEGRepresentation方法傳輸圖像,並且效果很好(但是當圖像大小超過2 ko時,會花費很長時間)
現在,我想嘗試傳輸一系列不同的對象,例如文本,圖像。
我在didSubscribeToCharacteristic方法(Peripheral Manager端)中嘗試了以下代碼:
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
每個部分都在中央接收,但是有些部分為“空”,當我嘗試將數據歸檔到nsarray時,它表示數據為NULL。
我使用了錯誤的方法嗎? 還有其他方法可以將nsarray放入nsdata嗎?
謝謝您的幫助
吉米
該代碼實際上正在工作...我只是從地面上重新輸入所有內容抱歉打擾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.