我有一些NSData实例,其中包含2个不同值的字节。
调用getBytes:任何类型(长度,范围......)也会提升缓冲区中的当前位置吗?
示例:
NSData *data = ...; // 2 bytes data
[data getBytes:&whatever1 length:1]; // reading first byte
[data getBytes:&whatever2 length:1]; // reading first OR second byte?
每次getBytes:length:调用的内容是否与NSData实例中的第一个字节相同,或者第一个调用是否会使下一个调用从第二个字节开始读取?
谢谢!
答案 0 :(得分:2)
不,它没有。
在示例中,它将访问相同的字节(第一个)。
要访问“下一个”字节,您需要使用getBytes:range:但是,就像@ hot-licks所评论的那样,NSData是不可变的,因此不会被修改。