SwiftでNotificationCenterの監視の解除を行おうとした際に、dealloc
メソッドがないことに気が付き困ってしまいました。
ひとまずNSObjectのドキュメントを見に行くと、Swiftではdealloc
がない。
それも当然で、SwiftのドキュメントのDeinitializationのページを見てみると、
A deinitializer is called immediately before a class instance is deallocated. You write deinitializers with the deinit keyword, similar to how intializers are written with the init keyword.
とあり、Swiftではdeinit
を記述するとのことです。言語自体が違うんですもんね。
書いてみるとこんな感じ。
deinit {
let notificationCenter = NSNotificationCenter.defaultCenter()
notificationCenter.removeObserver(self, name: "com.hogehoge.someNotification", object: nil)
}
ということで、後片付けをお忘れなく。