基础

[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

  将方法按照一定顺序,转华为字符串类型,请看这里





参考资料:[1] [2]


  1. 222 ↩

  2. 22 ↩

你可能感兴趣的:(基础)