2014-09-19 10 views
17

स्विफ्ट में आप NSData के मान को कैसे आउटपुट करते हैं? क्या यह NSLog, print या println है?स्विफ्ट में एनएसडीटा प्रिंटिंग?

ऐसा लगता है कि मैं केवल वस्तु के पते को मुद्रित कर सकता हूं, न कि इसकी वास्तविक सामग्री।

धन्यवाद

उत्तर

34

तो स्थल के चारों ओर अनेक सिफारिशें की कोशिश कर के बाद, यह क्या वास्तव में समाप्त हो गया है मेरे लिए काम करना

स्विफ्ट 3

let string1 = String(data: jsonData, encoding: String.Encoding.utf8) ?? "Data could not be printed" 
print(string1) 

स्विफ्ट 1

let string1 = NSString(data: jsonData, encoding: NSUTF8StringEncoding) 
println(string1) 
+0

यह स्विफ्ट 2.3 में एनएस उपसर्ग के बिना काम करता है। मेरे मामले में, 'डेटा' वैकल्पिक है इसलिए मैं इसका उपयोग कर रहा हूं:' प्रिंट (स्ट्रिंग (डेटा: डेटा ?? एनएसडीटा(), एन्कोडिंग: NSUTF8StringEncoding) ' –

+0

@DanielT। प्रश्न की तारीख की जांच करें – User

+2

प्रश्न को कालातीत करने में कुछ भी गलत नहीं है। –

4

प्रयास करें NSString

let theString:NSString = NSString(data: someNSData, encoding: NSASCIIStringEncoding) 
println(theString) 

संदर्भ

convenience init(data: NSData, encoding: UInt) 
+0

' कॉल ' – User

+0

@macdonjo में अतिरिक्त तर्क' डेटा 'कोई रास्ता नहीं है, यह' सुविधा init (डेटा: एनएसडीटा, एन्कोडिंग: UInt) 'का उपयोग करता है। जांचें कि आपके पास उचित कॉन्फ़िगरेशन –

1

तुम सिर्फ बाइट्स चाहते हैं (और पता नहीं है, या वहाँ एक उचित स्ट्रिंग एन्कोडिंग नहीं है) आप अभी भी एनएसएलओजी का तेजी से उपयोग कर सकते हैं:

NSLog("%@", NSData(bytes: [0x1b], length:1)) 
संबंधित मुद्दे