我目前正在做很多数据争论。我摄取了一个 lloonngg NSData 字节流,然后解析该数据。解析是微不足道的。但是,当我通过不是特别优雅的簿记进行解析时,我必须模拟数据的消耗。以下是我实现的 NData 类别中的典型方法:
// 获取 little-endian 32 位数字 - (uint32_t)getInt32OffsetIncrement:(NSUInteger *)offset {
uint32_t unused;
NSRange myRange = NSMakeRange(*offset, sizeof(unused));
[self getBytes:&unused range:myRange];
*offset += sizeof(unused);
return CFSwapInt32LittleToHost(unused);
}
如您所见,我检索数据,然后将 NSRange “指针”推进到数据流中。完成后,我已经消耗了整个数据流。
我是否忽略了 NSData 上可以同时检索数据并沿数据流长度推进指针的任何方法?
干杯,道格