Ceci pourrait être une question simple, mais à cause d’une compréhension claire entre print () et debug () print en rapide, je suis incapable de comprendre où les utiliser.
Réponses
Trop de publicités?Vous utilisez debugPrint lorsque vous souhaitez plus d'informations sur ce qui est imprimé sur la console. L'information supplémentaire est généralement utile pour le débogage.
print() - Écrit les textes, les représentations des éléments donnés dans la sortie standard.
debugPrint() - Écrit les représentations textuelles de l'articles les plus appropriés pour le débogage dans la sortie standard.
Fondamentalement debugPrint ajoute des informations supplémentaires qui est utile pour le débogage comme le type de l'information, etc.
Un exemple:
print(1...5)
// Prints "1...5"
debugPrint(1...5)
// Prints "CountableClosedRange(1...5)"
À l'aide de print()
est une façon d'visuellement voir ce que vous êtes en train de créer. Il n'indique pas "inutile" de l'information qui n'est pas nécessaire de représenter l'imprimé variable.
par exemple
print("test")
// prints: test
À l'aide de debugPrint()
toutefois, ajoute le type inféré pour la sortie.
par exemple
debugPrint("test")
// prints: "test"
Notez comment il ajoute les guillemets que vous sachiez que c'est une chaîne de caractères.
Erica Sadun a créé un parfait exemple de la façon dont ces deux fonctions diffèrent: Swift: Enregistrement
Lien de l'Article : impression-vs-debugprint
Si Vous faites un appel réseau et faire un debugPrint(response)
au lieu de print(response)
, vous obtiendrez beaucoup plus d'informations précieuses.
Voir ci-dessous un exemple de code:
Exemple de Code : à l'Aide d'iTunes Api de Recherche
let urlReq = URLRequest(url: URL(string: "https://itunes.apple.com/search?term=jack+johnson&limit=1")!)
Alamofire.request(urlReq).responseJSON { (data) in
print(data)
print("\n\n\n\n\n\n\n\n\n")
debugPrint(data)
}
Sortie de la Console (en Enlevant une partie de la réponse champs)
Pour imprimer
SUCCESS: {
resultCount = 1;
results = (
{
artistId = 909253;
artistName = "Jack Johnson";
artistViewUrl = "https://itunes.apple.com/us/artist/jack-johnson/id909253?uo=4";
}
);
}
Pour debugPrint
[Request]: GET https://itunes.apple.com/search?term=jack+johnson&limit=1
[Response]: <NSHTTPURLResponse: 0x610000223860> { URL: https://itunes.apple.com/search?term=jack+johnson&limit=1 } { status code: 200, headers {
"Access-Control-Allow-Origin" = "*";
"Cache-Control" = "max-age=86345";
Connection = "keep-alive";
"Content-Disposition" = "attachment; filename=1.txt";
"Content-Length" = 1783;
"Content-Type" = "text/javascript; charset=utf-8";
Date = "Sat, 23 Sep 2017 14:29:11 GMT";
"Strict-Transport-Security" = "max-age=31536000";
Vary = "Accept-Encoding";
"X-Apple-Partner" = "origin.0";
"X-Cache" = "TCP_MISS from a23-76-156-143.deploy.akamaitechnologies.com (AkamaiGHost/9.1.0.4-20866905) (-)";
"X-Cache-Remote" = "TCP_MISS from a23-45-232-92.deploy.akamaitechnologies.com (AkamaiGHost/9.1.0.4-20866905) (-)";
"X-True-Cache-Key" = "/L/itunes.apple.com/search ci2=limit=1&term=jack+johnson__";
"apple-originating-system" = MZStoreServices;
"apple-seq" = 0;
"apple-timing-app" = "86 ms";
"apple-tk" = false;
"x-apple-application-instance" = 1000492;
"x-apple-application-site" = NWK;
"x-apple-jingle-correlation-key" = VEF3J3UWCHKUSGPHDZRI6RB2QY;
"x-apple-orig-url" = "https://itunes.apple.com/search?term=jack+johnson&limit=1";
"x-apple-request-uuid" = "a90bb4ee-9611-d549-19e7-1e628f443a86";
"x-apple-translated-wo-url" = "/WebObjects/MZStoreServices.woa/ws/wsSearch?term=jack+johnson&limit=1&urlDesc=";
"x-content-type-options" = nosniff;
"x-webobjects-loadaverage" = 0;
} }
[Data]: 1783 bytes
[Result]: SUCCESS: {
resultCount = 1;
results = (
{
artistId = 909253;
artistName = "Jack Johnson";
artistViewUrl = "https://itunes.apple.com/us/artist/jack-johnson/id909253?uo=4";
}
);
}
[Timeline]: Timeline:
{
"Request Start Time": 527869893.013,
"Initial Response Time": 527869893.033,
"Request Completed Time": 527869893.034,
"Serialization Completed Time": 527869893.035,
"Latency": 0.020secs,
"Request Duration": 0.021secs,
"Serialization Duration": 0.001secs,
"Total Duration": 0.021secs
}