nslog(self class]); lldb sutdent nslog(self superClass); lldb person nslog(super class); lldb sutdent nalog(super superClass) lldb person
[super run] 会调用 父类的run 方法 ; 通过superClass 类中直接查找
[super Class] 方法 会从nsobject 类中查找, 因为其他子类没有实现过 class 方法
[super Class] == [super Class:(id)self cmd(Sel)cmd]; recever -> self
- (Class)class { // self 是谁就返回谁 return objc_getClass(self); }
总结 super 消息接受者 仍然是子类对象 方法查找从 父类开始查找方法
- (Class)superClass { return objc_getsuoerClass(objc_getClass(self)); }