This question already has an answer here:
-
KVO and ARC how to removeObserver
3 answers
-
In ARC do we need to send removeObserver: explicitly?
4 answers
Does adding an observer increase the retain count of an object?
If yes, does ARC handle the removing of this observer too? If not, where should I remove the observer?
You should explicitly remove the observer even you use ARC
. Create a dealloc
method and remove there..
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
If you see the method you don't need to call [super dealloc];
here, only the method without super dealloc needed.
UPDATE for Swift
You can remove observer in deinit method if you are writing code in swift.
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}