OC方法的调用顺序

  • 对象方法:

    • 会先在实例的类里找对应的实例方法,如果没有则向父类的类里找,一直找到根类,一直没有,则会抛出异常。(能够找到父类是通过superclass指针)。
  • 类方法:

    • 在当前类的元类里找对应的类方法,没有找到则会向父类元类里找,一直找到根类的元类,如果还是没有,根类的元类则会去当前元类的类对象里去找,(虽然类对象里存的是实例方法,但是send_message的本质并不区分是类方法还是实例方法,只要找到同名的就会去调用。所以当调用一个类方法,但是当前类方法一直到NSObject都没去实现这个类方法,但是NSObject却实现了同名的实例方法,这个实例方法最后会被调用)。
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 2,116评论 0 9
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,315评论 8 265
  • OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...
    奇异果好补阅读 4,536评论 0 11
  • 1 朋友林清最近刚刚结束了自己的四年空窗期。 对于不食人间烟火的他来说,我实在好奇是怎样的女生可以捕获他的倾心。 ...
    颜一白阅读 10,039评论 0 1
  • 今天我做了人生中的许多第一次。第一次搭飞机,第一次到首都北京,第一次看见樱桃树...我们住在朋友家位于京郊的别墅里...
    eg阅读 237评论 0 1

友情链接更多精彩内容