OC 中我们常常会用到地址打印,但是swift有所不同。swift是种类型安全的语言。有些东西做了安全处理,Apple期望在Swift中尽量减少指针使用几率,因此在Swift中指针被映射为了一个比较抽象的泛型类型。其中变量地址不能像OC中那样用取地址符号直接访问。
打印地址代码如下:
func variableAddress(variable: inout T) -> String{
var str:String?
withUnsafePointer(to: &variable) {
str = "variable value \(variable) has address: \($0)"
}
return str ?? "nil"
}
var var1 = "ss"
print(variableAddress(variable: &var1))
如有错误欢迎指正,共同进步