2010-02-02 13 views

Antwort

15

Ja, Sie können:

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

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

irgendwie ist es nicht für mich arbeiten :(gibt es einen zusätzlichen Schritt, der getan werden muss? – raistlin

1

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

Ungeprüfte ;-)

1

[dict setObject: Bild forKey: @ "ImageToStore"];

6

OK hatte ich dieses Problem vor kurzem und die oben genannten Lösungen gearbeitet nie für mich. Also, wenn jemand anderes ihren Weg findet hier das gleiche Problem zu lösen, ist hier, wie es

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

// die 0,1 repräsentiert 0.0 die Druckqualität niedrigsten bis 1,0 liegt getan ist die höchste Qualität

dann zu bekommen Bild zurück von Wörterbuchgebrauch

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

Es besteht keine Notwendigkeit dafür. 'NSDictionary' speichern kann' UIImage' Werte, solange Sie nicht versuchen Das Wörterbuch in einer PLIST-Datei beibehalten – rmaddy

1

Es hängt davon ab, was Sie mit Ihrem NSDictionary tun möchten. Sie können zwar ein UIImage-Objekt in NSDictionary speichern, aber Sie können dieses Dictionary-Objekt möglicherweise nicht in Fällen verwenden, in denen Sie bestimmten Standards entsprechen müssen.

Zum Beispiel können Sie ein NSDictionary als Wert in standardUserDefaults verwenden, aber nur dann, wenn jedes Objekt in diesem Wörterbuch ein Eigenschaftslistenobjekt ist. UIImage ist kein Eigenschaftslistenobjekt. NSData ist, so können Sie Ihre UIImage in NSData mit UIImageJPEGREpresentation konvertieren und speichern Sie es auf diese Weise, wie oben erwähnt.

3

Sie können UIImage-Objekt nicht in einem Wörterbuch speichern. Sie müssen das Bild in ein NSData-Objekt konvertieren und das im Wörterbuch speichern.

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

Falsch. 'NSDictionary' kann' UIImage'-Werte speichern, solange Sie nicht versuchen, das Wörterbuch in einer PLIST-Datei zu speichern. – rmaddy

Verwandte Themen