2012-01-25 4 views
2

Il y a probablement une réponse très simple à cela, mais je n'arrive pas à y mettre le doigt.NSString à partir de [NSData dataWithContentsOfURL:]

Je reçois le contenu d'une URL Web à l'aide (voir ci-dessous)

NSData *data = [NSData dataWithContentsOfURL:webURL]; 

Ce que je veux faire est afficher cette NSData sous une forme lisible, et non la représentation hexadécimale.

+0

Quel type de ressource se trouve à 'webURL'? –

+0

C'est juste une page web avec du texte dessus, j'espérais gratter le texte, mais peut-être que je vais à ce sujet dans le mauvais sens. – fuzzygoat

+0

Utilisation de NSString * newStr = [[NSString alloc] initWithData: données codage: NSUTF8StringEncoding]; semble avoir fonctionné, il me donne la source html mais je peux choisir à travers cela pour obtenir les données dont j'ai besoin. – fuzzygoat

Répondre

3
NSString* newStr = [[NSString alloc] initWithData:data 
             encoding:NSUTF8StringEncoding]; 
0
NSString *response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
NSLog(@"%@", response); 
7

C'est aussi une autre façon, sans passer par l'utilisation de NSData tout à fait:

NSError *error = nil; 
NSString *string = [NSString stringWithContentsOfURL:webURL encoding:NSUTF8StringEncoding error:&error]; 
1

Si cela est juste pour l'affichage/l'enregistrement, et vous ne vraiment pas besoin de la chaîne dans votre programme, vous pouvez également définir un point d'arrêt (cliquez sur les numéros de ligne dans la ligne que vous souhaitez vous connecter).

cliquez ensuite à droite le point d'arrêt que vous venez de créer -> Modifier point d'arrêt ->Cliquez pour ajouter une action. Définissez la liste déroulante sur la commande de débogueur et dans le champ Action, entrez x/10s (char*)[data bytes]. Cela va écrire 10 "segments" de vos données dans le journal. Cochez la case Continuer automatiquement ... pour que le point d'arrêt n'arrête pas le programme.

NSData logging breakpoint in Xcode4

Questions connexes