How about direct translation:
func pointerToString(objRef: NSObject) -> String { return NSString(format: "%p", objRef) }
A more native path (in decimal rather than hexadecimal):
func pointerToString(objRef: AnyObject) -> String { return withObjectAtPlusZero(objRef, { ptr in "\(UnsafePointer<RawByte>(ptr) - nil)" }) }
func pointerToString(objRef: AnyObject) -> String { let ptr: COpaquePointer = Unmanaged<AnyObject>.passUnretained(objRef).toOpaque() return "\(UnsafePointer<RawByte>(ptr) - nil)" }
Update: pointers are building correctly now, so you can just do
func pointerToString(objRef: AnyObject) -> String { let ptr: COpaquePointer = Unmanaged<AnyObject>.passUnretained(objRef).toOpaque() return "\(ptr)" }
source share