Swift 析构函数(deinit)

刚看见这方法不是太明白,去查查了资料
每个类 最多可以有一个析构函数
deinit {// 执行的执行的代码块}

析构函数是在实例释放发生前一步被自动调用。不允许主动调用自己的析构函数。子类继承了父类的析构函数,并且在子类析构函数实现的最后,父类的析构函数被自动调用。即使子类没有提供自己的析构函数,父类的析构函数也总是被调用。

因为直到实例的析构函数被调用时,实例才会被释放,所以析构函数可以访问所有请求实例的属性,并且根据那些属性可以修改它的行为(比如查找一个需要被关闭的文件的名称)。
比如有时候需要把该类下的所有通知给取消就可以用:
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}

你可能感兴趣的:(Swift 析构函数(deinit))