美文网首页
1.isa指针简介

1.isa指针简介

作者: Mars_Rui | 来源:发表于2019-02-27 16:25 被阅读0次

整理几个方法:

假设有一个类。Person。Person类存在一个实例Person *p

方法1: [Person class];

方法2: [p class];

方法3: object_getClass(p);

方法4: class_isMetaClass([p class]);

整理几个名词:

名词1:类对象

名词2:元类对象

名词3:实例对象

方法定义:

OBJC_EXPORT BOOL class_isMetaClass(Class cls)  用于判断Class对象是否为元类

OBJC_EXPORT Class object_getCLass(id obj)  用于获取对象的isa指针指向的对象

名词解释:

这里主要对名词1和名词2做一个简单的理解

类对象:主要包含类的isa指针,类的父类的isa指针,属性,实例方法,协议信息等内容。

元类对象:主要包含isa指针,元类的父类的isa指针,类方法等信息。

理解:

从方法定义上看,方法1和方法2返回的都为Class类对象 根据代码判断,两个方法返回的均为isa指针指向的类对象

类对象的isa指针指向的则是元类。

类方法的信息存储在元类对象中,调用用户定义的某一个类方法的时候。如:Person类。Person类对象通过isa指针找到Person元类对象。

总结:

参考网址:

相关文章

  • 1.isa指针简介

    整理几个方法: 假设有一个类。Person。Person类存在一个实例Person *p 方法1: [Person...

  • A1_Runtime运行时

    一、objc 对象的 isa 的指针指向什么?有什么作用?1.isa:是一个Class 类型的指针. 每个实例对象...

  • Runtime之objc_msgSend和objc_msgFor

    1.isa指针:每个objc对象都有一个isa指针,指向其类对象,从而可以找到类对象上的方法列表。 2.[...

  • iOS底层 -- isa、superclass指针

    1.isa指针 instance的isa指向class class的isa指向meta-class 当调用对象方法...

  • ISA指向、类结构

    ISA指向、类结构 1.ISA指向 上次在对象本质和ISA指针[https://www.jianshu.com/p...

  • iOS runtime理解

    1.isa指针 一个Person对象person调用getName的方法,getName方法是在类中声明的,也就是...

  • iOS Objective-C isa简介

    iOS Objective-C isa 1.isa简介 isa是 Objective—C 对象alloc的时候,伴...

  • iOS 底层原理

    1.isa指针 在Objective-C中,任何类的定义都是对象。类和类的实例(对象)没有任何本质上的区别。 is...

  • iOS底层 -- class的底层结构

    1.isa指针 从64bit开始,isa需要进行一次位运算,才能计算出真实地址 class、meta-class对...

  • 分享面试题

    1.isa指针是什么?主要用途是用来做什么的? -> Objective-C是一门面向对象的编程语言,每一个对象...

网友评论

      本文标题:1.isa指针简介

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