self

作者: y2015 | 来源:发表于2018-02-09 12:12 被阅读3次

一、
self和_cmd是隐藏参数,在编译期被插入实现代码。
self:self是类的一个隐藏参数,每个方法的实现的第一个参数即为self。指向消息的接受者target的对象类型,作为一个占位参数,消息传递成功后self将指向消息的receiver。

二、
NSObject类中源码实现

+ (id)self {
    return (id)self;
}

- (id)self {
    return self;
}

对于一个类对象来讲self返回的其实是一个指向objc_class对象的指针的地址;
对于一个实例对象来讲self返回的其实是一个指向objc_object对象的指针地址,

相关文章

网友评论

      本文标题:self

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