It seems like the Swift equivalent of dealloc is deinit. However, when you attempt to define the method on a UIViewController, it doesn\'t behave as you would expect...
I haven't tried it yet but I did find this for you:
It seems the function won't be called unless some code is put inside the deinit (weird) must be part of swift's optimisation stage.
Try putting a print statement inside your deinit as suggested and report your findings