Comment convertir NSHTTPURLResponse en String en Swift
Je voudrais le convertir ma réponse à partir de la NSHTTPURLResponse type de Chaîne:
let task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) -> Void in
println("Response: \(response)")
var responseText: String = String(data: response, encoding: NSUTF8StringEncoding)
})
La ligne ci-dessous renvoie le message de réponse à la console.
println("Response: \(response)")
Mais cette ligne rend moi une erreur: argument Supplémentaire 'encoding' en Appel.
var responseText: String = String(data: response, encoding: NSUTF8StringEncoding)
Comment puis-je convertir avec succès cette "réponse" dans une Chaîne de caractères?
source d'informationauteur Karl Ivar
Vous devez vous connecter pour publier un commentaire.
corps
saisir les données et de les mettre utf chaîne si vous le souhaitez. La réponse de la description n'est pas le corps de la réponse
champ d'en-tête
si vous voulez un CHAMP d'en-TÊTE à la place:
Mise À Jour De Réponse:
Comme vous voulez obtenir un champ d'en-tête du contenu.
Lorsque vous imprimez un objet de son
description
méthode est appelée.C'est pourquoi, lorsque vous
println()
dessus, vous obtenez une représentation textuelle.Il y a deux façons d'obtenir ce que vous voulez.
La voie de la facilité
Cependant, cela n'est bon que pour le débogage.
La version localisée de façon
Utiliser la deuxième approche chaque fois que vous avez besoin pour l'affichage de l'erreur à l'utilisateur.
Vous aurez besoin du code ci-dessous, parce que les données de réponse de votre tâche de données est stockée dans
data
.response
est la réponse http, avec des codes d'état, etc, pour plus d'info à propos de la réponse http allez iciPour une version plus récente de swift
C'était aussi simple que
var responseText: String = response.description
.