我试图打印原始指针指向的指针的内容,但当我打印或NSLog时,我得到的指针值比指针指向的内存内容要大。如何打印指针指向的内存内容?下面是我的代码:
let buffer = unsafeBitCast(baseAddress, to: UnsafeMutablePointer<UInt32>.self) for row in 0..<bufferHeight { var pixel = buffer + row * bytesPerRow for _ in 0..<bufferWidth { // NSLog("Pixel \(pixel)") print(pixel) pixel = pixel + kBytesPerPixel } }
pixel 是指向 UInt32 ,以便打印指向 必须取消引用的值:
pixel
UInt32
print(pixel.pointee)
请注意,递增指针是以 指向的值
pixel = pixel + kBytesPerPixel
将地址递增 4 * kBytesPerPixel 字节,其中 可能不是你想要的。
4 * kBytesPerPixel