Swift programming language object destructor
A deinitializer is called immediately before a class instance is deallocated. You write deinitializers with the deinit
keyword, similar to how initializers are written with the init
keyword. Deinitializers are only available on class types.