ios - 将 CUnsignedChar 指针转换为 CChar 指针

标签 ios swift unsafe-pointers

我有一个 objective-c 函数,它给了我一个

UnsafePointer<UInt8>/UnsafePointer<CUnsignedChar>. 

但是我需要这些数据作为

UnsafePointer<Int8>

不幸的是我需要的功能没有实现

UnsafePointer<UInt8>.

最佳答案

在您的情况下,“不安全的位转换”将是最简单的解决方案:

let ptr: UnsafePointer<UInt8> = ...
let i8ptr = unsafeBitCast(ptr, to: UnsafePointer<Int8>.self)

另一个选项是“内存重新绑定(bind)”:

ptr.withMemoryRebound(to: Int8.self, capacity: <count>) { i8ptr in
    // ...
}

关于ios - 将 CUnsignedChar 指针转换为 CChar 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531841/

相关文章:

arrays - 对数组中相似的对象进行排序和分组

c# - 在指向整数的指针数组上动态设置值

swift - Swift 3 中的 UnsafeMutablePointer<CFTypeRef>

ios - 感叹号在iOS注释中的重要性

ios - 使用高阶 Swift 函数的潜在内存泄漏

swift - UIDatePickerView上的SelectRow

java - 在 Java 中使用 Unsafe 写/读内存

ios - ScreenShot Image - 点击点的周围区域

ios - 如何从此JSON字典中检索数据?

ios - 如何在 ViewController 之外遵守 UIPickerViewDelegate 和 UIPickerViewDataSource?