views:

46

answers:

1

I have asked this before, but the more I look at other code examples the more I see differences in layout. Usually I try and put the call to super at the start (if its a creation type method) or at the end (if its a destroy type method) (see below...)

-(void)viewDidLoad {
   [super viewDidLoad];
   ...
   ...
}

.

-(void)viewDidUnload {
   ...
   ...
   [super viewDidUnload];
}

The other method I see always seems to place the call to super at the end of the method regardless. (see below...) my question is does it matter?

-(void)viewDidLoad {
   ...
   ...
   [super viewDidLoad];
}

.

-(void)viewDidUnload {
   ...
   ...
   [super viewDidUnload];
}

cheers gary.

+2  A: 

I'd say that it doesn't usually matter, unless:

  • The method is doing initialisation of instance variables (which viewDidLoad usually wouldn't be doing, as that's the init method's job), in which case the super call should be at the start.
  • The method is doing deallocation of instance variables, in which case the super call should be at the end.
  • The method is passing on some sort of event, e.g. through a responder chain, in which case you wouldn't actually be using a super call at all (but the pattern is similar), and you'd put the call at the end.

I may have missed some important cases, though.

David
Thank you David, much appreciated.
fuzzygoat