Custom dealloc and ARC (Objective-C)
When using ARC, you simply do not call [super dealloc]
explicitly - the compiler handles it for you (as described in the Clang LLVM ARC document, chapter 7.1.2):
- (void) dealloc{ [observer unregisterObject:self]; // [super dealloc]; //(provided by the compiler)}