
/*不可变数组*/
NSArray *array = @[data]
/*可变数组*/
NSMutableArray *mutableArray = [NSMutableArray array]
//添加元素
[mutableArray addObject:data]
1. 这是最快的方法,以获得数组:unsigned char *bytesArray = data.bytes
NSUInteger lengthOfBytesArray = data.length
试图让字节#100之前,你应该检查lengthOfBytesArray这样的:
if (lengthOfBytesArray >100 + 1)
{
unsigned char byteWithOffset100 = bytesArray[100]
}
而另一位安全和更ObjC的样方式:
- (NSArray*) arrayOfBytesFromData:(NSData*) data
{
if (data.length >0)
{
NSMutableArray *array = [NSMutableArray arrayWithCapacity:data.length]
NSUInteger i = 0
for (i = 0i <data.lengthi++)
{
unsigned char byteFromArray = data.bytes[i]
[array addObject:[NSValue valueWithBytes:&byteFromArray
objCType:@encode(unsigned char)]]
}
return [NSArray arrayWithArray:array]
}
return nil
}
2. 如果你只是想读他们,有一个真正:
unsigned char *bytes = [data bytes]
如果你要编辑的数据,还有关于NSData的才会这样。
// Make your array to hold the bytes
NSUInteger length = [data length]
unsigned char *bytes = malloc( length * sizeof(unsigned char) )
// Get the data
[data getBytes:bytes length:length]
注:请不要忘记-如果你复制数据,你也必须调用free(bytes)点)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)