Проблемы с преобразованием байтового массива на iphone - PullRequest
3 голосов
/ 09 августа 2009

У меня небольшая дилемма с проектом iphone.

Я получаю некоторые данные JSON из веб-службы. Я могу десериализовать его в словарь ОК. Одно из значений словаря является двоичным (рисунок), но моя библиотека JSON десериализует его как NSArray из NSDecimalNumbers!

Как мне преобразовать этот NSArray из NSDecimalNumbers в объект NSData, чтобы я мог успешно сгенерировать из него изображение, используя [UIImage imageWithData: myNSData]?

1 Ответ

3 голосов
/ 09 августа 2009

Как насчет этого

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.

...