作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
目前我的泛型类中有以下函数
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/
我是一名优秀的程序员,十分优秀!