2010-08-12 126 views
4

我以前曾问过这个问题,但我越看到其他代码示例,就越能发现布局上的差异。通常我尝试把呼叫超在启动(如果它的创作类型的方法),或在结束(如果它的破坏类型的方法)(见下文......)将呼叫置于超级?

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

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

我看到的另一种方法似乎总是把方法结束时调用超级方法。 (见下面...)我的问题是重要吗?

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

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

干杯加里。

回答

3

我会说,它通常不打紧,除非:

  • 的方法是做实例变量(这通常viewDidLoad不会做的初始化,因为这是该init方法的工作),在这种情况下,super呼叫应该在一开始。
  • 该方法正在做取消分配的实例变量,在这种情况下super调用应该在最后。
  • 该方法正在传递某种事件,例如,通过一个响应者链,在这种情况下,你实际上根本不会使用super的呼叫(但模式相似),并且你最终将呼叫置于其中。

虽然我可能错过了一些重要的案例。

+0

谢谢大卫,非常感谢。 – fuzzygoat 2010-08-13 09:31:05