gpt4 book ai didi

swift - 如何将数据从 Swift 4 Data 对象复制到 OutputStream 对象?

转载 作者:行者123 更新时间:2023-11-28 05:56:49 25 4
gpt4 key购买 nike

我正在尝试将数据从 Swift 4 数据对象复制到 OutputStream。可能适用于早期版本的代码是

let len = data.withUnsafeBytes {
outputStream.write($0, maxLength: bytesRemaining)

然而,XCode 9 提示

Cannot convert value of type 'UnsafeRawBufferPointer' to argument type 'UnsafePointer

如果 OutputStream 只接受部分数据,我也不知道如何推进这一点。

最佳答案

您的数据可能是[UInt8]。解决此问题的最便捷方法是将其替换为 Data 值。接口(interface)非常相似,因此除了声明之外,它不需要更改太多代码。或者,您可以像这样将字节复制到 Data 中:

let len = Data(data).withUnsafeBytes {
outputStream.write($0, maxLength: bytesRemaining)
}

您可以使用 UnsafeBufferPointer 直接在 [UInt8] 上工作:

let len = data.withUnsafeBufferPointer {
if let address = $0.baseAddress {
outputStream.write(address, maxLength: bytesRemaining)
}
}

关于swift - 如何将数据从 Swift 4 Data 对象复制到 OutputStream 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51274250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com