gpt4 book ai didi

generics - Swift 泛型和 CMutableVoidPointer

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:20 27 4
gpt4 key购买 nike

目前我的泛型类中有以下函数

func writeHeader(buffer: CMutableVoidPointer) {

var headerData = NSData(bytesNoCopy:buffer, length:sizeof(H))
self.fileHandle.writeData(headerData)
}

但是如您所见,这不是很安全。我试过了,但它没有编译

func writeHeader(buffer: CMutablePointer<H>) {

var headerData = NSData(bytesNoCopy:buffer, length:sizeof(H))
self.fileHandle.writeData(headerData)
}

有什么想法吗?

更新

这是第一句中提到的通用类的一部分,对不起,下次我会更具体。

class DataStore<H> { 
.....
}

最佳答案

这可能是您正在寻找的:

func writeHeader<H>(buffer: CConstPointer<H>) {

let headerData = buffer.withUnsafePointer {
NSData(bytesNoCopy: $0, length: sizeof(H), freeWhenDone: false)
}
self.fileHandle.writeData(headerData)
}

关于generics - Swift 泛型和 CMutableVoidPointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470764/

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