1

我正在尝试打印原始指针指向的指针的内容,但是当我打印或 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
        }
    }
4

1 回答 1

2

pixel是指向 an 的指针UInt32,为了打印指向的值,您必须取消对它的引用:

print(pixel.pointee)

请注意,递增指针是以指向值的步幅为单位完成的,因此您的

pixel = pixel + kBytesPerPixel

将按字节递增地址4 * kBytesPerPixel,这可能不是您想要的。

于 2018-01-05T15:33:00.543 回答