[self class]和[super class] 消息传递机
2019-03-14 本文已影响0人
0fbf551ff6fb
打印出的结果都是phone
对第一条,系统会转为
对此方法的接受者是self 当前对象
对[super class]而言 系统会转为
由此可以看出 他们俩调用的都是当前对象phone,phone对象调用class方法,首先会在缓存中查找,没有再去当前类方法列表查找,phone类中也没有,所以就会去mobile中查找,也没有,最后查找到NSObject类中,找到class方法,调用。他俩的区别在于【self class】是在当前类Phone中开始查找,【super class】是从父类Mobile开始查找
@dynamic修饰后的属性 不会马上生成set 和 get方法 只有在运行时才会生成