我有一个lllooonnnggg NSMutableData实例。我想将这些数据的非重叠子范围提供给其他对象。我已经仔细阅读了NSData / NSMutableData文档,并且没有完全掌握这样做的正确方法。
因此,例如NSMutableData replaceBytesInRange:withBytes:看起来很理想,但我需要withBytes:参数指向[mySourceHumungousData bytes]返回的字节流头部之外的位置。
我可以得到hack-ish并投入纯C并做到这一点,但我不想这样做。
干杯, 道格
答案 0 :(得分:3)
在subdataWithRange:
个实例上尝试NSData
。这样您就可以在替换NSMutableData
中所需的字节之前,根据需要对数据进行切片。
答案 1 :(得分:1)
根据建议您可以使用subdataWithRange:
消息,或使用getBytes:range:
复制到缓冲区然后传递原始复制缓冲区。这些都可以达到相同的效果。但是为了消除暂时复制数据,您可以直接使用“C风格”并转换为char *
,将[n]个字节增加到您想要的位置并传递它。