牛骨文教育服务平台(让学习变的简单)

在Swift中,也支持ARC机制,也就是内存自动回收机制。

在上一篇博文我们讲了《Swift初始化(Initialization)》,既然有了初始化的方法,Swift也提供了销毁的通知方法。

deinit只能在引用类型中使用,也就是只能在类中使用。

deinit {
    // perform the deinitialization
}

下面就用一个例子给大家介绍销毁是怎么工作的。

class SomeClass {

    // MARK: 类销毁时,通知此方法
    deinit {
        print("销毁")
    }

}

var sClass:SomeClass? = SomeClass()
sClass = nil // print "销毁"

我们设置变量sClass为可选的SomeClass类,当我们将sClass设为nil时,当然你也可以不执行这行代码,swift会自动回收sClass分配的内存空间。

这里我们人为的调用sClass = nil后,Swift开始销毁sClass,销毁完毕通知SomeClass类中的deinit方法体,最后完成内存回收。

其他

参考资料

The Swift Programming Language (Swift 2.1)

文档修改记录

时间 描述
2015-10-31 根据 The Swift Programming Language (Swift 2.1)中的Deinitialization总结

版权所有:http://blog.csdn.net/y550918116j