2017-01-24 5 views
23

यह एक साधारण सवाल हो सकता है लेकिन तेजी से प्रिंट() और डीबग() प्रिंट के बीच स्पष्ट समझ के कारण मैं समझ नहीं पा रहा हूं कि प्रत्येक का उपयोग कहां किया जाए।प्रिंट() बनाम डीबगप्रिंट() तेजी से

उत्तर

19

आप debugPrint का उपयोग करके ऐसी क्या कंसोल के लिए मुद्रित किया जा रहा है के बारे में अधिक जानकारी चाहते हैं:

एरिका Sadun कैसे इन दोनों कार्यों अलग का एक आदर्श उदाहरण बनाया गया है। अतिरिक्त जानकारी आमतौर पर डीबगिंग के लिए उपयोगी होती है।

print() - दिए गए आइटमों के मानक आउटपुट में टेक्स्ट प्रस्तुतिकरण लिखता है।

debugPrint() - मानक आउटपुट में डिबगिंग के लिए सबसे उपयुक्त दिए गए आइटमों के टेक्स्ट प्रस्तुतिकरणों को लिखता है।

मूल रूप से debugPrint में अतिरिक्त जानकारी है कि प्रकार की जानकारी की तरह डीबगिंग के लिए उपयोगी है कहते हैं आदि

एक उदाहरण:

print(1...5) 
// Prints "1...5" 


debugPrint(1...5) 
// Prints "CountableClosedRange(1...5)" 
9

print() का उपयोग करके यह देखने का एक नियमित तरीका है कि आप क्या बना रहे हैं। यह 'अप्रासंगिक' जानकारी नहीं दिखाता है जो मुद्रित चर का प्रतिनिधित्व करने के लिए निष्पक्ष नहीं है।

उदा।

print("test") 
// prints: test 

debugPrint() का उपयोग करते हुए हालांकि उत्पादन के लिए अनुमानित प्रकार कहते हैं।

उदा।

debugPrint("test") 
// prints: "test" 

ध्यान दें कि यह उद्धरण चिह्नों को कैसे जोड़ता है यह बताने के लिए कि यह एक स्ट्रिंग है। Swift: Logging

3

अनुच्छेद लिंक: print-vs-debugprint

आप एक नेटवर्क कॉल करते हैं और के बजाय debugPrint(response) करें, आपको बहुत अधिक मूल्यवान जानकारी मिल जाएगी।

नमूना कोड: नीचे दिए गए उदाहरण कोड देखें आइट्यून्स खोज API

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) 
    } 

कंसोल आउटपुट (प्रतिक्रिया से कुछ फ़ील्ड निकाला जा रहा है)

का उपयोग प्रिंट के लिए

SUCCESS: { 
    resultCount = 1; 
    results =  (
       { 
      artistId = 909253; 
      artistName = "Jack Johnson"; 
      artistViewUrl = "https://itunes.apple.com/us/artist/jack-johnson/id909253?uo=4"; 
     } 
    ); 
} 

लिए 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 
} 
संबंधित मुद्दे