Jus*_*808 7 objective-c nsdata
我有一个NSData项目,持有一堆int.我如何将它们带入NSArray?
NSData中的内存结构是小端序的32位int,一个接一个.
对不起基本问题,但仍在学习obj-c做事方式:)
Lil*_*ard 13
您可以使用定义的函数OSByteOrder.h来处理字节序.除了那个怪癖之外,这实际上只是抓住字节缓冲区并迭代它.
// returns an NSArray containing NSNumbers from an NSData
// the NSData contains a series of 32-bit little-endian ints
NSArray *arrayFromData(NSData *data) {
void *bytes = [data bytes];
NSMutableArray *ary = [NSMutableArray array];
for (NSUInteger i = 0; i < [data length]; i += sizeof(int32_t)) {
int32_t elem = OSReadLittleInt32(bytes, i);
[ary addObject:[NSNumber numberWithInt:elem]];
}
return ary;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9461 次 |
| 最近记录: |