October 15, 2018
There are some times in Swift, like when using System Trace, that you want to get the pointer value of an object directly as a UInt
(passing the pointer to kdebug_signpost
is one). I was surprised at how hard it was to find documentation on how to get a Swift reference’s pointer value as a UInt
. Here’s how to do it, using the UInt(bitPattern:)
initializer:
_ = withUnsafePointer(to: myObject) { unsafePointer in
let pointerValue = UInt(bitPattern: unsafePointer)
// do whatever with pointerValue: it's a UInt!
}
I'm Noah, a software developer based in the San Francisco Bay Area. I focus mainly on full stack web and iOS development