Как преобразовать данные, полученные из базы данных Sqlite, в NSArray в NSData в iPhone SDK

В приложении "Мой iPhone"

Я конвертирую свое изображение в формат NSData и сохраняю его в таблице базы данных sqlite в dataType = "BLOB",

Но я извлекаю это изображение (хранящееся в формате NSData) в формат NSArray из базы данных,

Проблема в том, что я не могу преобразовать NSArray в NSData (что помогло бы мне вернуть мое изображение в формат NSData)

Пожалуйста, помогите и предложите, спасибо


person ios    schedule 11.01.2011    source источник


Ответы (3)


Ваше требование такое странное.

  1. вы можете хранить изображение в локальной файловой системе с именем файла в sqlite
  2. если вы действительно хотите, чтобы изображения сохранялись в sqlite, вы можете каждое изображение в sqlite отдельно, а не архивировать изображения в NSArray, а не конвертировать в NSData
person aelam    schedule 17.10.2014

Используйте NSKeyedArchiver Как преобразовать NSArray в NSData?

person Andiih    schedule 11.01.2011
comment
Спасибо за ответ Я хочу скрыть от NSArray до NSData Не от NSMutableArray, поэтому, пожалуйста, дайте мне знать, что NSKeyedArchiver поможет мне - person ios; 11.01.2011
comment
код, если вы перейдете по этим ссылкам lists.apple.com/archives /cocoa-dev/2002/Jan/msg00315.html - это расширение NSArray (не NSMutableArray). Вы пробовали это сделать? - person Andiih; 12.01.2011

UIImage *imgData = [UIImage imageWithData:[yourArray objectAtIndex:theIndex]];

для нескольких изображений в одном массиве вы можете зациклить его

как

for (int i = 0;i<[yourArray count];i++) {
      UIImage *img = [UIImage imageWithData:[yourArray objectAtIndex:i];
      //do something here with each image
      // for example, add it to an ImageView
}

P.S. если есть только одно изображение, его индекс равен 0, надеюсь, это поможет

person mrburns05    schedule 19.04.2011