2014-09-19 11 views
17

Come viene emesso il valore di NSData in Swift? È NSLog, print o println?Stampa NSData in Swift?

Sembra che possa solo stampare l'indirizzo dell'oggetto e non il suo contenuto effettivo.

di ringraziamento

risposta

34

Così, dopo aver provato una serie di raccomandazioni in tutto il sito, questo è ciò che in realtà ha finito per lavorando per me.

Swift 3

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

Swift 1

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

Questo funziona senza il prefisso NS in Swift 2.3 Nel mio caso, 'data' è opzionale, quindi sto usando:' print (String (data: data ?? NSData(), codifica: NSUTF8StringEncoding)) ' –

+0

@DanielT. controlla la data della domanda – User

+2

Niente di sbagliato nel rendere la domanda senza tempo. –

4

Provate NSString

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

Riferimento

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

' Argomento aggiuntivo 'data' nella chiamata ' – User

+0

@macdonjo in nessun modo, utilizza 'convenience init (data: NSData, encoding: UInt)'. Controlla di avere una configurazione corretta –

1

Se si desidera solo il byte (e non si sa, o non c'è una codifica stringa appropriata) si può ancora usare NSLog in swift:

NSLog("%@", NSData(bytes: [0x1b], length:1))