OC基础-01对象在内存中的存储细节

1.程序在内存中的存储细节

  • 一个程序在内存中的表现如下: 

OC基础-01对象在内存中的存储细节

2.对象和类在内存中的表现

  •  我们通过new方法创建了一个叫张三的20岁的人,和一个叫做李四的18岁的人,那么在内存中时如下表现: 

OC基础-01对象在内存中的存储细节

 

  1. 这里面ls和zs是指向对象的指针,存放在栈内存中,对象放在堆内存中
  2. 每个实例对象都有一个isa指针,这个指针指向当前对象所属的类
  3. [ls eat];表示给ls所指向的对象发送一条eat消息,调用对象的eat方法,此时对象会顺着内部的isa指针找到存 储于类中的方法,执行
  4. 通过isa指针我们可以在运行的时候知道当前对象是属于哪个Class(类)的
  5. 类对象存储类的成员变量和方法声明