Convertir nsdictionary à nsdata
avoir une application qui permet de prendre une photo et la télécharger sur un serveur. encodage en base 64 et le passer à travers un XMLRPC pour mon serveur php.
je veux prendre le NSDictionary info est retourné à partir de UIImagePickerController délégué
-(void) imagePickerController:(UIImagePickerController *)imagePicker didFinishPickingMediaWithInfo:(NSDictionary *)info
et la convertir en NSData donc je peux le coder.
alors, comment puis-je convertir des NSDictionary à un NSData?
OriginalL'auteur Padin215 | 2011-08-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un NSKeyedArchiver à sérialiser vos NSDictionary à un NSData objet. Notez que tous les objets dans le dictionnaire devront être sérialisable (mettre en œuvre NSCoding à un certain moment dans leur arbre d'héritage) pour que cela fonctionne.
Trop paresseux pour aller à travers mes projets pour lever le code, voici donc certains de l'Internet:
Encoder
Décoder:
l'erreur se produit sur [archiveur encodeRootObject:info]; et son "SIGABRT" erreur, sry pour oublier de mentionner que.
UIImage ne peut pas être sérialisé avec le NSKeyedArchiver, pas sans solutions.
OriginalL'auteur Perception
Je sais un peu trop tard, mais juste au cas où quelqu'un tombe sur cette même question.
UIImage
n'est pas sérialisable, mais vous pouvez sérialiser en utilisant le code:si votre image est
JPG
:si votre image est
PNG
:OriginalL'auteur carlos_ms
NSDictionary -> NSData:
NSData -> NSDictionary:
OriginalL'auteur Himanshu Mahajan
La
NSPropertyListSerialization
classe vous donner le plus de contrôle sur l'écriture et la lecture des listes de propriété:Lire:
la lecture n'est pas juste... NSError * erreur; NSPropertyListFormat format; NSDictionary * dictionnaire = [NSPropertyListSerialization propertyListWithData:auto.inputFormEncodedDictionary options:0 format:&erreur de format:&erreur];
OriginalL'auteur catlan
Trois options se produire pour moi sur ce, les deux mentionnés dans d'autres réponses NSKeyedArchiver et PropertyList, il y a aussi NSJSONSerialization qui m'a donné le plus compact de données en un simple test.
Taille de résultats pour les différentes approches de la plus petite à la plus grande
OriginalL'auteur SuperGuyAbe