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