Swift中字节数组的NSData

我正在尝试NSDatavar从字节数组创建一个。

在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

回到顶部