1 Is there a specific reason why or why not say super that viewDidUnload?
Honestly, I do not know the consequences of not calling him. You can try not to name it, and everything works smoothly, but imagine that Apple adds some important piece of code that will run when [super viewDidUnload] , what will happen now? There will probably be bad things, and you will spend precious time trying to solve your problem. My rule: when overriding, call super.
2 - I call super before setting all my properties to zero, after or does it matter?
It matters, I watched bad things happen when I called [ super dealloc] before releasing my objects. Similarly, I saw that my user interface was slow because I did my calculations before [super viewDidLoad] . It always depends on what you want to achieve.
The bottom line is what I do in my projects for viewDidUnload :
// free my views
[super viewDidUnload];
As for iOS6:
The method is deprecated .
Peres source share