Objective c 如何在NSDictionary中存储UIImage?
如何在NSDictionary中存储UIImage?Objective c 如何在NSDictionary中存储UIImage?,objective-c,iphone,uiimage,nsdictionary,Objective C,Iphone,Uiimage,Nsdictionary,如何在NSDictionary中存储UIImage?[dictionary setObject:yourImage forKey:@“任意键” 未经测试;-) [dict setObject:image forKey:@“ImageToStore”] 是的,您可以: NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:1]; UIImage *img = ...; [dict setObject:img
[dictionary setObject:yourImage forKey:@“任意键”代码>
未经测试;-) [dict setObject:image forKey:@“ImageToStore”] 是的,您可以:
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:1];
UIImage *img = ...;
[dict setObject:img forKey:@"aKeyForYourImage"];
UIImage *imgAgain = [dict objectForKey:@"aKeyForYourImage"];
好的,我最近遇到了这个问题,上面的解决方案对我来说从来都不起作用。因此,如果其他人在这里找到了解决同样问题的方法,下面是如何做到的
NSDictionary *imageDictionary = @{
kImageKey: UIImageJPEGRepresentation(/*INSERT YOUR UIImage HERE*/,0.1)
};
//0.1表示压缩质量,0.0表示最低质量,1.0表示最高质量
然后从字典使用中获取图像
[UIImage imageWithData:[imageDictionary objectForKey: kImageKey]];
这取决于你想用你的字典做什么。是的,您可以在NSDictionary中存储UIImage,但在需要符合某些标准的情况下,您可能无法使用所述dictionary对象
例如,您可以将NSDictionary用作standardUserDefaults中的值,但前提是该字典中的每个对象都是属性列表对象。UIImage不是属性列表对象。NSData是,因此您可以使用UIImageJPEGREpresentation将UIImage转换为NSData,并按上述方式存储。您不能将UIImage对象存储在字典中。您必须将图像转换为NSData对象并将其存储在字典中
NSData *imgData = UIImageJPEGRepresentation(yourImage, 0.0f);
[dictionary setObject:imgData forKey:@"your key"];
不知怎的,这对我来说不起作用:(还有什么需要做的吗?@raistlin这个答案在这一点上来得太晚了,令人难以置信,但我只想提到检查你的图像是否为空(检查它是否添加到目标中,等等)是什么解决了我的问题。没有必要这样做。NSDictionary
可以存储UIImage
值,只要不尝试将字典持久化到plist文件。不正确。NSDictionary
可以存储UIImage
值,只要不尝试将字典持久化到plist文件。