1.主类,子类,分类中+load方法的执行顺序
- +load方法是在main函数执行之前执行的,并不需要主动调用.
- 主类,子类,分类都会调用+load 方法.
- 调用顺序为: 主类的load 方法先调用,然后,调用子类的load方法,最后调用分类的load方法,注意: 所有分类的load方法都会被调用,load方法的调用顺序取决于它的编译顺序.
2.主类和分类中普通同名方法的调用
- 分类中的同名方法会覆盖掉主类中的同名方法,比如: 分类中和主类中有一个相同的方法,当我们调用该名字的方法的时候,只会执行分类中的该方法,其本质不是真正的覆盖,只是runtime会把分类的方法,插入到其的方法里面的最前面.
3. + Initialize方法的调用顺序
- Initialize 只有当真正用到的时候,并且重写了Initialize 方法的时候才会调用.
- 当调用子类的Initialize方法的时候,如果父类重新了Initialize方法,会先调用父类的Initialize方法,然后调用子类的Initialize,但是如果此时父类的分类也重写了Initialize方法,那么父类的Initialize方法就会被覆盖掉.
网友评论