In Cocoa, addObserver:forKeyPath:options:context:
retains "neither the receiver, nor anObserver". Therefore I assume observing self is allowed; that is, it's perfectly valid to do something like
[self addObserver:self forKeyPath...]
As long as you remember to unregister self
as an observer as the first thing in dealloc.
Is this assumption correct?