分类中同名函数的执行顺序

1.主类,子类,分类中+load方法的执行顺序

  • +load方法是在main函数执行之前执行的,并不需要主动调用.
  • 主类,子类,分类都会调用+load 方法.
  • 调用顺序为: 主类的load 方法先调用,然后,调用子类的load方法,最后调用分类的load方法,注意: 所有分类的load方法都会被调用,load方法的调用顺序取决于它的编译顺序.

2.主类和分类中普通同名方法的调用

  • 分类中的同名方法会覆盖掉主类中的同名方法,比如: 分类中和主类中有一个相同的方法,当我们调用该名字的方法的时候,只会执行分类中的该方法,其本质不是真正的覆盖,只是runtime会把分类的方法,插入到其的方法里面的最前面.

3. + Initialize方法的调用顺序

  • Initialize 只有当真正用到的时候,并且重写了Initialize 方法的时候才会调用.
  • 当调用子类的Initialize方法的时候,如果父类重新了Initialize方法,会先调用父类的Initialize方法,然后调用子类的Initialize,但是如果此时父类的分类也重写了Initialize方法,那么父类的Initialize方法就会被覆盖掉.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容