0
我已经通过外部附件框架打开下面的输入和输出流:作为原始数据读取和写入数据流?
session = [[EASession alloc] initWithAccessory:acc forProtocol:protocol];
if (session){
[[session inputStream] setDelegate:self];
[[session inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[[session inputStream] open];
[[session outputStream] setDelegate:self];
[[session outputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[[session outputStream] open];
}
现在我有一个非常愚蠢的问题,因为我的大部分新手问题的。我怎样才能将原始的1字节数据发送给流?说,我想发送0x06。我怎么做?
然后...如何从流中读取数据?我将发回要逐字节处理的数据...字节将是字节范围(0x00 - 0xFF)中的数字。
谢谢你的耐心和帮助!
另一个愚蠢的问题:我如何打印aByte到NSLog?当我做NSLog(@“%@”,aByte)或NSLog(@“%s”,aByte)...程序崩溃。 –
“%@”格式说明符将相应的参数视为对象指针。 “%s”将其视为不可预测编码的C字符串指针。崩溃是因为'aByte'不是任何类型的有效指针,所以取消引用它会访问无效地址。对于'aByte',可以使用“%hhu”(十进制)或“%hhx”(十六进制)。 “u”和“x”表示无符号整数类型。一个“h”表示“short int”,而“hh”表示“char”(这是“uint8_t”类型的基础)。 –