美文网首页
oc isa指针

oc isa指针

作者: CodingTom | 来源:发表于2020-08-27 11:09 被阅读0次
  • instance 的 isa指针 指向 class

  • class 的 isa指针 指向 meta-class

  • meta-class的 isa指针 指向 基类的meta-calss

  • class的superclass指向父类的class

    • 如果没有父类,superclass指针为nil
  • meta-calss的superclass指向父类的meta-calss

    • 基类的meta-class的superclass指向基类的class
  • instance调用对象方法的轨迹

    • isa先找到class,方法不存在,就通过superclass找父类
  • class调用的类方法的轨迹

    • isa找到meta-class,方法不存在,通过superclass找到父类
问题1: oc对象的isa指针指向哪里?
  1. 如果是instance对象: isa指针指向class对象
  2. 如果是class对象: isa指针指向meta-class对象
  3. 如果是meta-class对象: isa指针指向基类的meta-class对象
问题2: oc类信息存放在哪里?
  1. instance对象: 成员变量的具体值
  2. class对象: 对象方法、属性、成员变量描述信息、协议信息
  3. meta-class对象: 类方法

https://blog.csdn.net/u012179233/article/details/85279643

相关文章

  • OC 类&类结构分析

    OC底层原理学习 学习OC时,常听的就是万物皆对象,对象都有isa指针,那为什么有isa指针,isa指针到底是谁创...

  • Runtime之isa详解

    isa 概念 isa是相当于是OC对象的一个标识指针,只要是OC对象就一定会有isa指针,arm64之前isa就是...

  • 2-OC对象的分类

    OC对象分为三类 instance对象isa指针其他成员变量 class对象isa指针superclass指针协议...

  • oc isa指针

    instance 的 isa指针 指向 class class 的 isa指针 指向 meta-class met...

  • OC对象中的isa和superclass指针

    isa指针 我们在OC的对象中了解到,每种对象有一个isa指针,他们的关系是: instance对象的isa指向它...

  • iOS Runtime ---- 元类

    从初学OC的时候就听人提起过OC对象中的isa指针,用来指向对象所属的类,从而可以在调用方法时通过isa指针找到相...

  • OC对象的方法结构

    OC是一门动态语言 OC的动态性都是由Runtime来支撑的isa指针arm64架构之前:isa就是一个普通的指针...

  • 02-OC中对象的isa指针和superclass指针

    OC中的isa指针和superclass指针 OC中的对象分为哪一类 instance对象(实例对象) class...

  • Runtime:逐个分析OC类结构体的成员变量

    一、isa指针和superclass指针的指向二、OC方法的本质和methods成员变量三、OC属性、协议、成员变...

  • OC语法 OC对象

    思考: 什么是对象? 根据OC源码可以最新版OC最新版源码, OC对象内都含有isa指针,可以说,凡是含有isa指...

网友评论

      本文标题:oc isa指针

      本文链接:https://www.haomeiwen.com/subject/fdkcsktx.html