swift指针操作

swift官方不建议使用指针,为了安全起见,而且使用比较麻烦,内存必须自己管理

1、直接创建指针

//开辟内存空间alloc,对应的应该是dealloc用于回收内存,<>中的是指针指向的类型alloc的参数是申请几块指向类型的内存,通常都是申请一块就是1
let a = UnsafeMutablePointer.alloc(1)
//为对象开辟内存空间,并赋初值,对应的应该是destroy用于回收指针所指向的对象内存
a.initialize(1)
//操作指针指向的内存空间,上面的initialize方法就是先开辟空间内存,并赋值就要使用memory赋值,相当于c语言的*操作符
a.memory = 2

//中间就是其他的操作

//先回收对象内存
a.destroy()
//最后回收指针内存
a.dealloc(1)

2、获取指针

//一个接收int类型指针的函数
func test(param:UnsafeMutablePointer)
{
   //修改指针指向的内存区域存储的值
   //memory类似于c语言的*
   param.memory = 20
}
var a = 10
//通过&获取的就是对应的UnsafeMutablePointer的指针
test(&a)
print(a)

可以参考猫神的博客,说的会更清楚https://onevcat.com/2015/01/swift-pointer/

你可能感兴趣的:(swift指针操作)