swift官方不建议使用指针,为了安全起见,而且使用比较麻烦,内存必须自己管理
1、直接创建指针
//开辟内存空间alloc,对应的应该是dealloc用于回收内存,<>中的是指针指向的类型alloc的参数是申请几块指向类型的内存,通常都是申请一块就是1
let a = UnsafeMutablePointer<Int>.alloc(1)
//为对象开辟内存空间,并赋初值,对应的应该是destroy用于回收指针所指向的对象内存
a.initialize(1)
//操作指针指向的内存空间,上面的initialize方法就是先开辟空间内存,并赋值就要使用memory赋值,相当于c语言的*操作符
a.memory = 2
//中间就是其他的操作
//先回收对象内存
a.destroy()
//最后回收指针内存
a.dealloc(1)
2、获取指针
//一个接收int类型指针的函数
func test(param:UnsafeMutablePointer<Int>)
{
//修改指针指向的内存区域存储的值
//memory类似于c语言的*
param.memory = 20
}
var a = 10
//通过&获取的就是对应的UnsafeMutablePointer<Int>的指针
test(&a)
print(a)
可以参考猫神的博客,说的会更清楚https://onevcat.com/2015/01/swift-pointer/