1、普通方法的优先级: 分类> 子类 > 父类, 优先级高的同名方法覆盖优先级低的
2、+load方法的优先级: 父类> 子类> 分类
3、+load方法是在main() 函数之前调用,所有的类文件都会加载,包括分类
4、+load方法不会被覆盖
5、同一主类的不同分类中的普通同名方法调用, 取决于编译的顺序, 后编译的文件中的同名方法会覆盖前面所有的,包括主类. +load方法的顺序也取决于编译顺序, 但是不会覆盖
6、分类中的方法名和主类方法名一样会报警告, 不会报错
7、声明和实现可以写在不同的分类中, 依然能找到实现
8、当第一次用到类的时候, 如果重写了+ initialize方法,会去调用
9、当调用子类的+ initialize方法时候, 先调用父类的,如果父类有分类, 那么分类的+ initialize会覆盖掉父类的, 和普通方法差不多
10、父类的+ initialize不一定会调用, 因为有可能父类的分类重写了它
分类中同名方法的调用顺序
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 主类和分类 一. 需要解决的问题 主类和分类中普通方法的调用顺序? 同一个主类的两个分类中的同名方法调用顺...
- iOS - 分类中同名方法的调用顺序 https://blog.csdn.net/appleLg/article/...