首页 > 在一个父类中 self 是其子类的对象.

在一个父类中 self 是其子类的对象.


在一个类的父类中什么情况下 self 可以表示为它的子类的对象?self 不应该是在哪个类中表示那个类的对象吗?


当那个对象真的是一个子类对象的时候


iOS中的self关键字有很多含义和规则,并不是题主理解的在哪个类中,就指代哪个类的对象!首先纠正这个问题,self表示当前类的对象,而题主所贴图中,显示当前对象的类型,可以理解为调用[self class],,如果当前类和所有父类都没有重写这个方法的话,则都会调用NSObject的class方法。

此外,OC中的self关键字,在不同的作用域中,有不同的含义和作用。在实例方法中,self表示对象的首地址,而在类方法中,self表示的是当前的Class,在OC中Class也是对象,因此self是不一样的,

【热门文章】
【热门文章】