搜索

首页  >  问答  >  正文

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


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

黄舟黄舟2758 天前682

全部回复(2)我来回复

  • 某草草

    某草草2017-05-02 09:20:51

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

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

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:20:51

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

    回复
    0
  • 取消回复