Как я могу хранить UIImage в NSDictionary?
Как я могу хранить UIImage в NSDictionary?
Ответ 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представлением и сохранить его таким образом, как указано выше.