Swift中字节数组的NSData
我正在尝试NSData
var
从字节数组创建一个。
在Obj-C中,我可能这样做:
NSData *endMarker = [[NSData alloc] initWithBytes:{ 0xFF, 0xD9 }, length: 2]
我无法弄清楚Swift中的等效功能。
回答:
NSData
有一个带有bytes
指针的初始化程序:init(bytes: UnsafeMutablePointer <Void>, length:
Int)。一个UnsafePointer
参数可以接受多种不同的东西,包括一个简单的斯威夫特阵列,所以你可以使用几乎相同的语法在Objective-C。传递数组时,需要确保将其标识为UInt8
数组,否则Swift的类型推断将假定您要创建一个Int
数组。
var endMarker = NSData(bytes: [0xFF, 0xD9] as [UInt8], length: 2)
您可以在Apple的与C
API交互的文档中阅读有关不安全指针参数的更多信息。
以上是 Swift中字节数组的NSData 的全部内容, 来源链接: utcz.com/qa/397883.html