解决方案 »

  1.   

    那应该不是callback ..., super 是重载父类的例程代码, 某些时候需要重用父类的代码,就需要显式 调用
     比如你自定义的BaseUIViewController 继承 UIViewController,za
    class BaseUIViewController
     viewDidLoad ()

       [super viewDidLoad];
        NSLog(@"Base->self->%@",self);
    }子类 MyUIViewController 继承 BaseUIViewController
     
     class MyUIViewController
     viewDidLoad ()
    {  
       [ super viewDidLoad ];  // this will call method of parent method, comment it then not call
        NSLog(@"self->%@",self);
    }
    上面的MyUIViewController代码 会输出2行日志信息,去掉super 的话,只有1行日志,so,你可以考虑把公用的逻辑都写在父类的方法里,这也是oop的思想吧,你说呢
      

  2.   

    你其实不是在重写,而是在系统方法的基础上添加你自己的元素,当然你是希望继续保留系统方法的功能,所以要显示调用。比如ViewDidLoad有些时候,你可能不需要保留系统的功能,或者这个方法只是系统留给Developer的,即没有任何的Implementation,就不需要调用[super...]了。比如viewWillAppear。