Swift 打印内存地址 3.0版本

//Swift 打印内存地址
/*
参数泛型AnyObject可以改成Any,这样就可以打印struct,enum等类型的变量。

 对于Int,等类型,上面的方法不生效,它会打印出值本身,比如var a = 15;会打印F。
 */
func address<T: AnyObject>(o: T) -> String {
    return String.init(format: "%018p", unsafeBitCast(o, to: Int.self))
}

/*
 传参的时候也要取地址
 address(&a)
 */
func address(o: UnsafeRawPointer) -> String {
    return String.init(format: "%018p", unsafeBitCast(o, to: Int.self))
}

更新一个知识点:lldb查看swift对象内存结构的方法
fr v -R foo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容