Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
655 views
in Technique[技术] by (71.8m points)

iphone - Placing calls to super?

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...