You said that initWithFrame: is called more than once, so I assume that this means that the view is destroyed and recreated. You can remove the view as an observer in dealloc , which will be called when the view is no longer saved by someone:
- (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; [super dealloc]; }
Justin spahr-summers
source share