美文网首页
isa的流程和类的继承

isa的流程和类的继承

作者: ios小喽喽 | 来源:发表于2022-08-08 11:57 被阅读0次

isa的指向流程:

NSObejct:实例对象的isa指向 元类,元类的isa指向根元类,根元类的isa指向自己

继承:实例对象的isa指向类,类的isa指向元类,元类的isa指向根元类,根元类的isa指向自己

普通的情况:实例对象的isa指向类,类的isa指向元类,元类的isa指向根元类,根元类的isa指向自己

图(一)

什么是元类?

元类没有固定的概念,元类的创建和定义都是由编译器自动完成,类的归属来自于元类,所有的类方法存储都是元类来完成

类对象和类信息在内存里面存在几份? :只有一份

NSObject ——> 继承于nil

图(2)

所有的对象 + 类 + 元类都有isa 

objc_object(结构体) 与对象的关系?

所有的对象都是objc_object继承过来的,objc_object来自于底层的C/C++

objc_object(根类)与objc_class的关系?objc_class 继承objc_object

什么是属性?什么是成员变量?什么是实例变量?

属性:@property获取,会自己生成get,set方法     成员变量:是否有下划线,ivars获取

实例变量:能实例化的变量(类的实例化)

copy 和 strong生成的属性的区别?

底层的set方法不一样、copy的set方法调用了objc_setProperty,strong用(*(NSString **)((char*)self + OBJC_IVAR_$_WHYCar$_title))

图(3)

相关文章

  • isa的流程和类的继承

    isa的指向流程: NSObejct:实例对象的isa指向 元类,元类的isa指向根元类,根元类的isa指向自己 ...

  • OC底层4-类的探究分析

    今天通过源码的学习对类进行分析,从isa 的走位和继承链来进行展开。我们先来看一下isa经典的流程图: isa流程...

  • isa指针指向和类结构分析

    isa指针指向和类结构分析 isa指向图 经典的isa指向图 从这张图能总结出类继承自父类,父类继承于NSObje...

  • iOS底层探索 -- 类的结构分析

    之前研究了isa的本质,在研究过程中经常会看到这张isa指针流程和类继承的关系图 今天我们就顺着这张图开始研究类 ...

  • 面试题: isKindOfClass & isMemberOfC

    先复习isa走位和继承流程图 在前四题中是调用的类方法 +isKindOfClass +isMemberOfCla...

  • iOS 类底层探索

    isa 流程探索 第一步:新建两个类QHPerson 和QHTearcher,其中QHTearcher继承QHPe...

  • iOS底层探索004-类分析

    iOS底层探索-目录 1. 类的分析 主要分析两个部分:isa的走向和继承关系 isa分析 类的isa走向,参考这...

  • 继承

    继承 继承的基本概念和语法 子类继承基类,基类派生子类,子类IsA基类。 class 子类名 : 继承方式描述符1...

  • iOS底层原理--isa&类结构探究(文末技术合集参考)

    开始探究 本篇开始正式研究类和isa,归根结底还是围绕类展开探索。研究类其实无非就是研究isa的走位和类的继承关系...

  • iOS底层探索之类的结构(下)

    在之前的几篇博客里面,已经介绍了,类的底层结构,还有isa的走位流程,元类的继承链,对象方法,类方法的存放位置,以...

网友评论

      本文标题:isa的流程和类的继承

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