Partage de données
Bonjour, je suis stagiaire et je travaille actuellement sur un projet pour iPhone et je suis amené a partager des données par mail.
Cependant la seule classe qu'il est possible de communiquer par mail est NNString.
Or je me retrouve avec des NSDictionary (et Event...) .
Je voulais savoir s'il y avais un moyen de coder des instances de ces classes sous forme de bytes pour les envoyer par mail ?
Merci d'avance je vois vraiment pas comment faire
Cependant la seule classe qu'il est possible de communiquer par mail est NNString.
Or je me retrouve avec des NSDictionary (et Event...) .
Je voulais savoir s'il y avais un moyen de coder des instances de ces classes sous forme de bytes pour les envoyer par mail ?
Merci d'avance je vois vraiment pas comment faire
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Peux-tu être plus précis sur tes besoins ?
"sous forme de bytes" => NSData ?
Tu peux pas envoyer une pièce-jointe dans ton mail ?
Tu sérialises tes données (si c'est qu'un NSDictionary ne contenant que des PLIST-Objects -- à savoir NSString, NSData, NSArray, NSDictionary, de mémoire -- ça se fait en une ligne, sinon faut lire la doc Apple sur "Archives & Serialization", y'a un Programming Guide complet sur le sujet) comme ça tu as toute ta représentation de tes données sous forme d'un fichier, et tu le mets en pièce-jointe du mail, et basta, non ?
Sinon en passant par les NSData, j'obtient : bplist00à”¿¿¿¿¿¿¿¿¿bcT$topX$objectsX$versionY$archiver¿¿¿à‘¿¿¿Qk€Â¯
&'(/>?@AELMRWX]U$;nullà“
¿¿¿¿¿¿¿¿ZNS.objectsWNS.keysV$class¡€Â¡€€Wrequestà™
!"#$%YrequestIDYoperationQaQrXpeerNameQfVpeerIDQv€€€Â¿Â¿Â¿Â¿Â¿Â¿Â¿
Vous pensez qu'il est possible de récupérer l'objet intact ou c'est mort ?
Là tu as bien sérialisé un PLIST, ce qui te donne des données binaires (un peu on va dire pour faire un parallèle comme si tu avais mis tous tes objets dans un ZIP par exemple, enfin c'est une métaphore bien sûr). Et ce que tu cites dans ton message plus haut, c'est juste que tu as affiché les NSData (les données binaires après sérialisation de ton NSDictionary donc) comme si c'était une chaà®ne de caractère (alors que ça ne l'est pas du tout). Tu risques donc d'avoir des octets qui, interprétés en chaà®ne, te donnent des caractères lisibles, mais beaucoup d'autres octets qui ne correspondent pas du tout à des caractères (et donc sont perdus dans l'histoire si tu essayes de les représenter comme une chaà®ne).
Si tu as des NSData, comme c'est le cas ici, mets-les en pièce-jointe de ton mail. C'est fait pour.
Ou alors trouve un moyen pour sérialiser ton NSDictionary sous une forme qui est affichable en NSString, comme le format XML ! (Mais bon dans tous les cas ça serait mieux de le mettre en pièce-jointe, non ?)
Enfin bon, tout est expliqué dans la doc https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/PropertyLists/SerializePlist/SerializePlist.html
[font=helvetica, arial, sans-serif]Cependant j'envois des NSData et je ne sais pas quoi mettre parmi ces extensions[/font]
http://www.webmaster...ime-types.shtml