美文网首页
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