A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小、小罗 中级黑马   /  2014-3-22 22:20  /  1091 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小、小罗 于 2014-3-23 17:08 编辑

老师在视屏中说:“每个对象都有一个isa指针,而且每个对象有isa指针的原因是基类NSObject中有一个class类型的isa成员变量”。
那根据继承语法每个类中也有一个isa指针咯?

老师又说:“每个类都有一个superclass指针”,那是不是因为基类NSObject中有一个superclass的成员变量?那用这种类创建的对象是不是也有一个superclass指针啊?

谁能具体解释一下这两个东东啊???

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 yaozeyang_2014 于 2014-3-22 23:15 编辑

其实你会不会想得太多,对象里面的isa指针指向创建这个对象的类,需要调用方法的时候就去那个类调用,原理就是跟着isa的指向去找方法。假如有A,B,C三个类,B继承A,C继承B,那么用C创建对象P,P如果要调用方法就会先去C找,通过isa指向的类找,没有的话就继续通过C类中的superclass指向的B类找,直到找到为止,前提是继承的关系,不继承是没有那个superclass的指向的。。另外,对象应该是只有isa指针,类才有superclass的,而且我认为继承的情况下才可能有用。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马