3
iPhoneプロジェクトで少しジレンマがあります。iphoneのバイト配列を変換する際に問題が発生しました。
ウェブサービスからJSONデータを取得しています。私は辞書にそれをdeserializeすることができますOK。辞書値の1つはバイナリ(画像)ですが、私のJSONライブラリはそれをNSDecimalNumbersのNSArrayとして逆シリアル化します!
[UIImage imageWithData:myNSData]を使用して、NSDecimalNumbersのNSArrayをNSDataオブジェクトに変換してイメージを正常に生成できるようにするにはどうすればよいですか? NSDecimalNumbersの値の範囲を応じて、この
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);
...または類似した何かについての
mallocの代わりにバッファを割り当てるために、[NSMutableData dataWithLength:[arrayOfNumbers count]];を使って、メモリ消費量とバッファコピーを減らすことができます。 –
華麗で、魅力的に働いた! =]私は生のCをしてからしばらくしていたので、私の構文がオフだったと思います。 –
+1ありがとうございます。私はこの間数日間苦労してきました。 – simonbs