Je consomme un service Web dans mon application iPhone. La méthode de service Web renvoie une réponse qui comporte plusieurs champs (par exemple, ID, description, etc.). Un de ces champs contient des données d'image binaires que j'ai besoin de convertir en UIImage dans mon application iPhone. J'utilise avec succès un NSXMLParser pour extraire des données de la réponse XML. Dans le sélecteur parser:foundCharacters:
du XMLParser, un NSString*
pointe vers la chaîne dans chaque champ. Comme il est une chaîne, ce que je fais pour lire des données d'image quand je rencontre le champ d'image:Lecture de données d'image binaire à partir d'un service Web dans UIImage
UIImage *img = [[UIImage alloc] initWithData:[string dataUsingEncoding:NSUTF8StringEncoding]];
, mais la variable img est encore « néant » après cette ligne. On dirait que les données de la chaîne XML ne sont pas compatibles avec la conversion. Qu'est-ce que je fais mal ici? (Je suis capable de lire d'autres champs dans mes variables, mais pas ce champ de données d'image)
Merci d'avance ..
J'ai le problème exact comme vous l'avez fait. Je suis heureux d'avoir trouvé votre réponse, mais je ne comprends pas vraiment le code et comment l'utiliser. J'ai une chaîne currentElementValue que j'ai analysée d'un service Web et je veux convertir ceci en nsdata, de sorte que je puisse convertir plus loin en image. Pourriez-vous me donner quelques suggestions s'il vous plaît? Je vous remercie. – alin
Peut-être qu'il est très tard pour cette réponse. Mais vous pouvez utiliser la méthode fournie dans l'exemple et l'appeler comme ceci: NSData * data = [NSData dataWithBase64EncodedString: currentElementValue]; UIImage * img = [UIImage imageWithData: données]; – ravinsp