objective-c - 在一个父类中 self 是其子类的对象.
黄舟
黄舟 2017-05-02 09:18:51
0
2
686


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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
某草草

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

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

仅有的幸福

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板