请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

一个实例对象是没有父对象的?方法是什么呢?

//实例对象
NSLog(@“Person实例地址:%@”,self);
//类对象
Class myClass = objc_getClass(“CFPerson”);
NSLog(@“Person类地址:%p”,myClass);
//元类对象
Class metaClass = objc_getMetaClass(“CFPerson”);
NSLog(@“Person元类地址:%p”,metaClass);
//父类对象
Class superCls = class_getSuperclass(myClass);
NSLog(@“Person父类地址:<%@:%p>”,superCls,superCls);

正在回答 回答被采纳积分+3

2回答

逆风 2019-10-22 19:50:54

实例对象的父类为其对应类对象的父类。

1.实例对象获取其父类,有个方法为:

[self superclass]

而它的实现为:

- (Class)superclass {

    return [self class]->superclass;

}

2.再次看class_getSuperclass的实现:

Class class_getSuperclass(Class cls)

{

    if (!cls) return nil;

    return cls->superclass;

}

都是拿类对象cls的superclass变量。


0 回复 有任何疑惑可以回复我~
提问者 qq_海是没有墙的城_0 2019-10-10 18:04:37

看了一下图,实例对象没有父类,我傻了,但是不知道在哪里删除提问。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信