将二进制信息保存到文件中



我通过Swift中的流接收二进制信息。假设信息是一张图片。我现在想保存图片。这怎么可能?

我尝试了以下内容:

let bufferSize = 154000
var buffer = [UInt8](count: bufferSize, repeatedValue: 0)
var bytesRead = inputStream?.read(&buffer, maxLength: bufferSize)
if bytesRead > 0 {
var bytesWrittenSoFar = 0
do {
    var diffbytes = bytesRead! - bytesWrittenSoFar
    fileStream?.open()
    fileStream?.write(UnsafePointer(&buffer[bytesWrittenSoFar]), maxLength: diffbytes)
} while (bytesWrittenSoFar != bytesRead);

但当我尝试写入(fileStream?.write…)时,我得到以下错误:"找不到接受提供的参数的'init'的重载

感谢您提前回答!

UnsafePointer的初始化出现问题。在这种情况下,你根本不需要它,你只需要传递&buffer[bytesWrittenSoFar],因为根据苹果书《将Swift与Cocoa和Objective-C结合使用》中的讨论,这是一个可以接受的值,可以传递给需要unsafePointer的函数。

相关内容

  • 没有找到相关文章

最新更新