Подтвердить что ты не робот

Как я могу хранить UIImage в NSDictionary?

Как я могу хранить UIImage в NSDictionary?

4b9b3361

Ответ 1

Да, вы можете:

NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:1];
UIImage *img = ...;
[dict setObject:img forKey:@"aKeyForYourImage"];

UIImage *imgAgain = [dict objectForKey:@"aKeyForYourImage"];

Ответ 2

OK У меня была эта проблема в последнее время, и вышеупомянутые решения никогда не работали для меня. Поэтому, если кто-то еще находит свой путь здесь, чтобы решить ту же проблему, вот как это делается

NSDictionary *imageDictionary = @{
 kImageKey:  UIImageJPEGRepresentation(/*INSERT YOUR UIImage HERE*/,0.1)
                                 };

//0,1 представляет качество сжатия 0.0, являющееся самым низким до 1.0, является наивысшим качеством

затем для возврата изображения из словаря используйте

[UIImage imageWithData:[imageDictionary objectForKey: kImageKey]];

Ответ 3

Вы не можете хранить объект UIImage в словаре. Вам придется преобразовать изображение в объект NSData и сохранить его в словаре.

NSData *imgData = UIImageJPEGRepresentation(yourImage, 0.0f);
[dictionary setObject:imgData forKey:@"your key"];

Ответ 4

[dictionary setObject:yourImage forKey:@"whatever key you want"];

Неподтвержденный; -)

Ответ 5

[dict setObject: изображение дляKey: @ "ImageToStore" ];

Ответ 6

Это зависит от того, что вы хотите делать с NSDictionary. Хотя, да, вы можете хранить UIImage в NSDictionary, возможно, вы не сможете использовать указанный объект словаря в тех случаях, когда вам нужно, чтобы он соответствовал определенным стандартам.

Например, вы можете использовать NSDictionary как значение в стандартеUserDefaults, но только если каждый объект в этом словаре является объектом списка свойств. UIImage не является объектом списка свойств. NSData есть, поэтому вы можете преобразовать свой UIImage в NSData с UIImageJPEGREпредставлением и сохранить его таким образом, как указано выше.