美文网首页
Runtime:super的本质

Runtime:super的本质

作者: 东方诗空 | 来源:发表于2022-03-29 11:23 被阅读0次

    super的本质

    super调用,底层会转换为objc_msgSendSuper2函数的调用,接收2个参数
    struct objc_super2
    SEL

    image.png

    如上图
    receiver是消息接收者
    current_class是receiver的Class对象

    [super message]的底层实现
    1.消息接收者仍然是子类对象
    2.从父类开始查找方法的实现

    [super run];
    super调用的receiver仍然是该调用的对象

    @implementation NSObject
    
    - (Class)class
    {
        return object_getClass(self);
    }
    
    - (Class)superclass
    {
        return class_getSuperclass(object_getClass(self));
    }
    
    @end
    

    相关文章

      网友评论

          本文标题:Runtime:super的本质

          本文链接:https://www.haomeiwen.com/subject/ctrqjrtx.html