Category并不会覆盖主类的同名方法,只是Category的方法排在主类方法的前面,OC的消息发送机制是根据方法名在method_list中查找方法,找到第一个名字匹配的方法之后就不继续往下找了,每次调用的都是method_list中最前面的同名方法。
所以我们可以根据selector查找到这个类的所有同名method,然后倒序调用,因为主类的同名方法在最后面。
Category并不会覆盖主类的同名方法,只是Category的方法排在主类方法的前面,OC的消息发送机制是根据方法名在method_list中查找方法,找到第一个名字匹配的方法之后就不继续往下找了,每次调用的都是method_list中最前面的同名方法。
所以我们可以根据selector查找到这个类的所有同名method,然后倒序调用,因为主类的同名方法在最后面。