swift5基本语法-反初始化器(deinit)

421 阅读1分钟

deinit叫反初始化器,类似OC中的dealloc方法,当的实例对象被释放内存时,就会调用实例对象的deinit方法。

deinit {
       print("Person对象销毁了")
 }

override func viewDidLoad() {
    super.viewDidLoad()
     
    print("1111")
    test()
    print("2222")
}
  
class Person {
    deinit {
        print("Person对象销毁了")
    }
    
}

class Student: Person {
    deinit {
        print("Student对象销毁了")
    }
}

func test() {
    var student = Student()
}

输出结果如下:

1111
Student对象销毁了
Person对象销毁了
2222

注意:

  • deinit不接受任何参数,不能写小括号,不能自行调用;
  • 父类的deinit能被子类继承;
  • 子类的deinit实现执行完毕后会调用父类的deinit;

END!