#swift #pointers
#swift #указатели
Вопрос:
Как мне привести UnsafeMutableRawPointer
к UnsafePointer<UInt8>?
? Например, как это в C (unsigned char*)VoidPointer
?
Ответ №1:
Начиная с необработанного указателя, вы можете load
создать объект по адресу в памяти, или вы можете привязать память, чтобы получить типизированный указатель на ту же память:
// buff is a CVImageBuffer
if let baseAddress = CVPixelBufferGetBaseAddress(buff) {
// baseAddress is an UnsafeMutableRawPointer
let addrptr = baseAddress.assumingMemoryBound(to: UInt8.self) // *
// addrptr is an UnsafeMutablePointer<UInt8>
// ...
}