Swift中,把NSData轉換為Byte數組的三種方法


最近做IOS開發需要從一個NSData中讀出數據。但是找不到相關文檔。網上搜索也有人問,我看到有Objective-C的答案,但基本上沒有Swift的方案。

NSData的bytes是UnsafePointer<Void>類型,我不知道怎樣直接獲取到他的值(如果你知道,請一定要告訴我)。

所以我自己摸索了一下把NSData轉換為[Byte]的方法,希望起到拋磚引玉的作用。

下面直接在PlayGround中演示:

最后我采用的當然是第三種方法:

import Foundation

var b:[Byte] = [13,0xf1,0x20]
var d = NSData(bytes: b, length: 3)

//把NSData的值存到byteArray中
var byteArray:[Byte] = [Byte]()
for i in 0..<3 {
    var temp:Byte = 0
    d.getBytes(&temp, range: NSRange(location: i,length:1 ))
    byteArray.append(temp)
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM