Comment puis-je stocker un UIImage dans un NSDictionary?Comment puis-je stocker un UIImage dans un NSDictionary?
Répondre
Oui, vous pouvez:
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:1];
UIImage *img = ...;
[dict setObject:img forKey:@"aKeyForYourImage"];
UIImage *imgAgain = [dict objectForKey:@"aKeyForYourImage"];
[dictionary setObject:yourImage forKey:@"whatever key you want"];
;-) Non testé
[dict setObject: l'image forKey: @ "ImageToStore"];
OK J'ai eu ce problème récemment et les solutions ci-dessus n'a jamais travaillé pour moi. Donc, si quelqu'un d'autre trouve leur chemin ici pour résoudre le même problème, voici comment faire
NSDictionary *imageDictionary = @{
kImageKey: UIImageJPEGRepresentation(/*INSERT YOUR UIImage HERE*/,0.1)
};
// 0,1 représente la qualité de compression 0,0 étant la plus faible à 1,0 étant la plus haute qualité
puis pour obtenir image retour de l'utilisation du dictionnaire
[UIImage imageWithData:[imageDictionary objectForKey: kImageKey]];
Il n'y a pas besoin pour cela. '' NSDictionary' peut stocker des valeurs UIImage' aussi longtemps que vous ne cherchez pas pour conserver le dictionnaire dans un fichier plist – rmaddy
Cela dépend de ce que vous voulez faire avec votre NSDictionary. Bien que, oui, vous pouvez stocker un UIImage dans NSDictionary, vous ne pourrez peut-être pas utiliser cet objet dictionnaire dans les cas où vous en avez besoin pour se conformer à certaines normes. Par exemple, vous pouvez utiliser un NSDictionary comme valeur dans standardUserDefaults, mais uniquement si chaque objet de ce dictionnaire est un objet de liste de propriétés. UIImage n'est pas un objet de liste de propriétés. NSData est, vous pouvez donc convertir votre UIImage en NSData avec UIImageJPEGREpresentation, et le stocker de cette façon, comme mentionné ci-dessus.
Vous ne pouvez pas stocker l'objet UIImage dans un dictionnaire. Vous devrez convertir l'image en un objet NSData et l'enregistrer dans le dictionnaire.
NSData *imgData = UIImageJPEGRepresentation(yourImage, 0.0f);
[dictionary setObject:imgData forKey:@"your key"];
Incorrect. 'NSDictionary' peut stocker les valeurs' UIImage' tant que vous n'essayez pas de conserver le dictionnaire dans un fichier plist. – rmaddy
en quelque sorte il ne fonctionne pas pour moi :(est-il une étape supplémentaire de besoin à faire? – raistlin