Swift 无法使用类型为“([String])”的参数列表调用“Data.Type.init”

Swift 无法使用类型为“([String])”的参数列表调用“Data.Type.init”,swift,Swift,我想用序列初始化一个数据类型:initS,但我得到以下代码的一个错误: let d = Data.init(["B","K"]) 当然,您会得到一个错误,因为泛型init方法有一个类型约束。序列必须为[UInt8] 你期待什么结果?数据的init:采用字节序列,而不是字符串。将字符串转换为数据的“正确”/“简单方法”是string.datausing:.utf8UInt8,web文档中未提及@Adobels这不是很好的文档,但是Data.Element是UInt8的一个类型别名。我从头文件中得

我想用序列初始化一个数据类型:initS,但我得到以下代码的一个错误:

let d = Data.init(["B","K"])

当然,您会得到一个错误,因为泛型init方法有一个类型约束。序列必须为[UInt8]


你期待什么结果?数据的init:采用字节序列,而不是字符串。将字符串转换为数据的“正确”/“简单方法”是string.datausing:.utf8UInt8,web文档中未提及@Adobels这不是很好的文档,但是Data.Element是UInt8的一个类型别名。我从头文件中得到了这个声明⌃⌘-点击数据
public init<S>(_ elements: S) where S : Sequence, S.Element == UInt8
let bytes = ["B", "K"].joined().utf8.map{ UInt8($0) }
let d = Data(bytes)