0
点赞
收藏
分享

微信扫一扫

Objective-C 同名方法调用顺序

以沫的窝 2021-09-29 阅读 77
日记本

总结:

说明:


在分类a和b中,同时重写+load方法且都添加了一个-(void)test;方法

2018-11-09 00:30:16.474877+0800 LazyTableView[10737:335747] a load
2018-11-09 00:30:16.475721+0800 LazyTableView[10737:335747] b load
2018-11-09 00:30:16.580356+0800 LazyTableView[10737:335747] b test

结论就是:
+load方法都会被调用,不会覆盖,分类中的调用顺序和编译顺序有关。同时,普通方法的调用会被覆盖,而且后编译的分类会覆盖之前的。所以结果是a->b->b;
同理,如果调换两个分类的编译顺序,结果会是b->a->a;

举报

相关推荐

0 条评论