Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iphone上转换字节数组时遇到问题_Iphone_Objective C_Arrays_Json_Byte - Fatal编程技术网

在iphone上转换字节数组时遇到问题

在iphone上转换字节数组时遇到问题,iphone,objective-c,arrays,json,byte,Iphone,Objective C,Arrays,Json,Byte,我对一个iphone项目有点进退两难 我正在从Web服务获取一些JSON数据。我可以将它反序列化到字典中。其中一个字典值是二进制(图片),但我的JSON库将其反序列化为NSDEcimalNumber的NSArray 如何使用[UIImage imageWithData:myNSData]将此NSDecimalNumber数组转换为NSData对象,以便从中成功生成图像?如何 unsigned char *buffer = (unsigned char*)malloc([arrayOfNumber

我对一个iphone项目有点进退两难

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

如何使用[UIImage imageWithData:myNSData]将此NSDecimalNumber数组转换为NSData对象,以便从中成功生成图像?

如何

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);

…或类似值,具体取决于NSDecimalNumber的值范围。

您可以使用
[NSMutableData dataWithLength:[ArrayOfNumber count]]减少内存消耗和缓冲区拷贝分配缓冲区而不是malloc。非常棒,工作起来很有魅力!=]我已经有一段时间没有使用原始C了,所以我想我的语法是错的。我已经为此挣扎了好几天了。