NSData& NSMutabledata。如何从数据对象的主体内读取?

时间:2009-10-08 01:33:53

标签: iphone nsdata

我有一个lllooonnnggg NSMutableData实例。我想将这些数据的非重叠子范围提供给其他对象。我已经仔细阅读了NSData / NSMutableData文档,并且没有完全掌握这样做的正确方法。

因此,例如NSMutableData replaceBytesInRange:withBytes:看起来很理想,但我需要withBytes:参数指向[mySourceHumungousData bytes]返回的字节流头部之外的位置。

我可以得到hack-ish并投入纯C并做到这一点,但我不想这样做。

干杯, 道格

2 个答案:

答案 0 :(得分:3)

subdataWithRange:个实例上尝试NSData。这样您就可以在替换NSMutableData中所需的字节之前,根据需要对数据进行切片。

答案 1 :(得分:1)

根据建议您可以使用subdataWithRange:消息,或使用getBytes:range:复制到缓冲区然后传递原始复制缓冲区。这些都可以达到相同的效果。但是为了消除暂时复制数据,您可以直接使用“C风格”并转换为char *,将[n]个字节增加到您想要的位置并传递它。