[self class] 和 [super class]
NSLog(@"self:%@",[self class]);
NSLog(@"super:%@",[super class]);
打印:
[1133:29988] self:SVC
[1133:29988] super:SVC
self
:是类的隐藏参数,它指向当前调用方法的类的实例。
super
:本质是一个编译器标识符,和self指向同一个消息接收者,和self不同的是,调用class时会去父类的的方法里调用而不是本类。
[self class]和[super class]
元类详解
object_getClass(obj) 与 [obj class]返回的指针不同
[OBJ class]
: 第一次调用 class 是实例方法,会返回isa的类,第二次调用的就是类方法,返回的是本身,以后调用都是执行类的方法,返回的都是本身;
object_getClass(obj)
:返回 isa 的指向链所指的类;
具体详解这里
method_getTypeEncoding
将方法按照一定顺序,转华为字符串类型,请看这里
网友评论