2014-09-19 18 views
17

Làm cách nào để bạn xuất giá trị của NSData trong Swift? Có phải là NSLog, print hoặc println?In ấn NSData trong Swift?

Có vẻ như tôi chỉ có thể in địa chỉ của đối tượng chứ không phải nội dung thực tế của đối tượng đó.

Thank-you

Trả lời

34

Vì vậy, sau khi thử một số kiến ​​nghị xung quanh trang web, đây là những gì thực sự đã kết thúc làm việc cho tôi.

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

Điều này làm việc không có tiền tố NS trong Swift 2.3 Trong trường hợp của tôi, 'dữ liệu' là tùy chọn nên tôi đang sử dụng:' print (String (dữ liệu: dữ liệu ?? NSData(), mã hóa: NSUTF8StringEncoding)) ' –

+0

@DanielT. kiểm tra ngày của câu hỏi – User

+2

Không có gì sai với việc đặt câu hỏi vượt thời gian. –

4

Hãy thử NSString

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

Reference

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

' Đối số bổ sung 'dữ liệu' trong cuộc gọi ' – User

+0

@macdonjo không có cách nào, nó sử dụng 'tiện ích init (dữ liệu: NSData, mã hóa: UInt)'. Kiểm tra xem bạn có cấu hình thích hợp –

1

Nếu bạn muốn chỉ là byte (và không biết, hoặc không có một mã hóa chuỗi thích hợp), bạn vẫn có thể sử dụng NSLog trong swift:

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