[NSData getBytes: length:] 是否改变缓冲区中的位置?
Does [NSData getBytes: length:] change position in buffer?
我有一些具有 2 个字节不同值的 NSData 实例。
调用 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 实例中的第一个字节相同,或者第一个调用会提前下一个调用从第二个字节开始读取?
谢谢!
不,不是。
在示例中,它将访问相同的字节(第一个)。
要访问 "next" 字节,您需要使用 getBytes:range:但是,就像@hot-licks 评论的那样,NSData 是不可变的,因此不会被修改。
我有一些具有 2 个字节不同值的 NSData 实例。
调用 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 实例中的第一个字节相同,或者第一个调用会提前下一个调用从第二个字节开始读取?
谢谢!
不,不是。
在示例中,它将访问相同的字节(第一个)。
要访问 "next" 字节,您需要使用 getBytes:range:但是,就像@hot-licks 评论的那样,NSData 是不可变的,因此不会被修改。