无法在iphone上转换字节数组

时间:2009-08-09 08:57:16

标签: iphone objective-c arrays json byte

我在iphone项目上遇到了一些困境。

我从网络服务获取一些JSON数据。我可以将它反序列化为字典OK。其中一个字典值是二进制(图片),但我的JSON库将其反序列化为NSDecimalNumbers的NSArray!

如何将NSDerimalNumbers的NSArray转换为NSData对象,以便通过使用[UIImage imageWithData:myNSData]从中成功生成图像?

1 个答案:

答案 0 :(得分:3)

这个怎么样

unsigned char *buffer = (unsigned char*)malloc([arrayOfNumbers count]);
int i=0;
for (NSDecimalNumber *num in arrayOfNumbers) {
    buffer[i++] = [num intValue];
}
NSData *data = [NSData dataWithBytes:buffer length:[arrayOfNumbers count]];
free(buffer);

...或类似的东西取决于NSDecimalNumbers的值范围。