2010-11-03 3 views
0

Je suis nouveau à cela, donc voilà ..iPhone SDK afficher l'image en uitableview à partir des données d'image dans la chaîne JSON

Je vais avoir un problème avec l'affichage des images dans uitableview, qui sont téléchargés à partir d'une base de données MySQL . Voici ce que je fais:

convertir des images en utilisant UIImagePNGRepresentation. téléchargement vers la base de données MYSQL via webservice. Jusqu'ici tout va bien ..

Les images sont téléchargées à partir de MYSQL en utilisant JSON. NSDictionary utilisé pour créer un tableau de données d'image à partir d'une chaîne JSON. [UIImage imageWithData: [imageArray objectAtIndex: indexpath.row]] échoue avec l'erreur: [NSCFString bytes]: sélecteur non concaténé envoyé à l'instance.

Je peux comprendre pourquoi cela se produit, mais je ne sais pas comment le résoudre. ImageWithData attend un objet NSData, mais j'ai converti la chaîne en NSData sans succès.

Toute aide sera grandement appréciée.

Répondre

0

Convertissez-vous vers et à partir de données correctement?

aux données:

NSData* theData; 
theData = [theNSString dataUsingEncoding:NSASCIIStringEncoding]; 

à la chaîne:

NSString* theNSString; 
theNSString = [[NSString alloc] initWithData:theData encoding:NSASCIIStringEncoding]; 
0

Merci pour votre réponse.

Oui Je procédais à la conversion de/vers des données, comme vous l'avez indiqué, la seule différence étant que j'utilisais NSUTF8StringEncoding plutôt que NSASCIIStringEncoding.

Je l'ai essayé avec NSASCIIStringEncoding, mais les résultats sont les mêmes. Il semble que les données converties soient différentes de celles stockées dans la base de données.

Les données de la chaîne JSON (NSData à NSString) est:

< 89504e47 0d0a1a0a 0000000d 49484452 00000087 0000005a 08020000 001d25d2 ac000020 00494441 54780174 bd7778dc e775e73b bdf78e19 f40e1004 c002764a ec942cdb b12ccb55 b6e3123b 8e539e44 cecd3ad7 bbc9c6eb f4dc2789 b3297e9c 4d1cc5b1 2dc9b264 4bb22a25 52ec0401 16f45e07 184ceff3 ....

Cependant, la conversion de retour à NSData donne les données suivantes:

< 3c383935 37203064 30613161 30612030 30346534 30303030 30306420 34 393438 34343532 20303030 30303038 37203030 30303030 35612030 38303230 30303020 30303164 32356432 20616330 30303032 30203030 34393434 34312035 34373830 .....

Cela peut être le même, mais [UIImage imageWithData: theData] renvoie l'image nulle.

+1

Juste un FYI. Vous devriez commenter sous la réponse pour ne pas casser la structure SO. Si le code est nécessaire, modifiez le message d'origine. –

Questions connexes