Iphone NSData表现为可消费数据流。可能的
我目前正在进行大量的数据争论。我接收一个LLOONGG NSData字节流,然后解析该数据。解析非常简单。然而,我必须在解析时通过不太优雅的簿记来模拟数据的消耗。以下是我实施的NData类别中的典型方法: //获取一个小小的endian 32位数字 -(uint32_t)getInt32OffsetIncrement:(nsInteger*)偏移量{ } 如您所见,我检索了数据,然后前进到NSRange“pointer”进入数据流。当我完成时,我已经消耗了整个数据流 我是否忽略了NSData上可以同时检索数据并沿数据流长度前进指针的任何方法 干杯,Iphone NSData表现为可消费数据流。可能的,iphone,objective-c,cocoa-touch,nsdata,Iphone,Objective C,Cocoa Touch,Nsdata,我目前正在进行大量的数据争论。我接收一个LLOONGG NSData字节流,然后解析该数据。解析非常简单。然而,我必须在解析时通过不太优雅的簿记来模拟数据的消耗。以下是我实施的NData类别中的典型方法: //获取一个小小的endian 32位数字 -(uint32_t)getInt32OffsetIncrement:(nsInteger*)偏移量{ } 如您所见,我检索了数据,然后前进到NSRange“pointer”进入数据流。当我完成时,我已经消耗了整个数据流 我是否忽略了NSData上可
Doug我刚刚编写了与此非常类似的代码。我不相信有任何内置的NSData方法可以帮助实现这一点。看起来您已经在作为NSData类别执行此操作。我认为这是你能做的最好的了,除非你想在一个成员中建立子类并保持偏移量
uint32_t unused;
NSRange myRange = NSMakeRange(*offset, sizeof(unused));
[self getBytes:&unused range:myRange];
*offset += sizeof(unused);
return CFSwapInt32LittleToHost(unused);