我目前正在处理大量数据。我摄取了lloonngg NSData字节流,然后解析该数据。解析是微不足道的。但是,在解析时,我必须通过不太特别的簿记来模拟数据的消耗。这是我已实现的NData类别中的典型方法:
//抓取一个低端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上可以同时检索数据并沿数据流长度前进指针的任何方法?
干杯,
道格
最佳答案
我只是写了与此非常相似的代码。我不相信有任何内置的NSData方法可以提供帮助。看起来您已经作为NSData类别进行了此操作。我认为这是最好的选择,除非您想继承子类并将偏移量保留在成员中。