KVO and ARC how to removeObserver

automatic-ref-counting, cocoa-touch, ios, key-value-observing

Solution

You still can implement `-dealloc` under ARC, which appears to be the appropriate place to remove the observation of key values. You just don't call `[super dealloc]` from within this method any more.

If you were overriding `-release` before, you were doing things the wrong way.

Problem

How do you remove an observer from an object under ARC? Do we just add the observer and forget about removing it? If we no longer manage memory manually where do we resign from observing? For example, on a view controller: ``` [self.view addObserver:self forKeyPath:@"self.frame" options:NSKeyValueObservingOptionNew context:nil]; ``` Previously, I would call `removeObserver:` in the view controller's `dealloc` method.

Original source

Related problems