首页 > 其他 > 详细

析构器

时间:2015-03-21 21:31:26      阅读:413      评论:0      收藏:0      [点我收藏+]

        与构造过程相反,实例最后释放的时候,需要清除一些资源,这个过程就是析构过程,在析构过程需要调用一种特殊的方法deinit,称为析构器,析构器deinit没有返回值,也没有参数,所以不能重载,析构函数只适用于类类型,不能应用于结构体和枚举

            


        类似的方法在C++中称为析构函数,不同的是,C++中的析构函数通常用来释放不再需要的实例资源类型,而在swift中,内存管理采用自动引用计数(ARC),不需要在析构器释放不需要的实例资源,但是还是有一些清除工作需要做,如下实例:

class Rectangle{
                var width:Double
                var height:Double
                init(width:Double,height:Double){
                    self.width=width
                    self.height=height
}
                 
                init(W width:Double,H height:Double){
                    self.width=width
                    self.height=height
}
                 
                init(length:Double){
                    self.width=length
                    self.height=length
}
                init(){
                    width = 10.0
                    height = 20.0
}
                deinit{
                    println("调用析构函数")
                    self.width = 0.0
                    self.height = 0.0
}
            var rect1 = Rectangle(width:10.0,height:20.0)
                rect1 = nil
            
             var rect2 = Rectangle(W:30,H:20)
            
                rect2 = nil
}

本文出自 “平凡之路” 博客,请务必保留此出处http://linjohn.blog.51cto.com/1026193/1622783

析构器

原文:http://linjohn.blog.51cto.com/1026193/1622783

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!