对象、类对象、元类以及元类结构体是 Objective-C 中非常重要的概念,它们负责处理对象的创建、销毁、消息传递等核心功能。下面是它们的组成以及相关联的说明:
对象:
对象是类的实例,它包含实例变量和指向类的指针。对象的结构体中包含 isa 指针,指向该对象所属的类对象。
类对象:
类对象是每个类在内存中的表示,它包含了类的属性、实例变量、方法等信息。类对象的结构体中包含 isa 指针,指向该类的元类对象。
元类对象:
元类对象是类对象的类,它描述了类对象的结构和行为。元类对象的结构体中也包含 isa 指针,指向该元类的元类对象。
元类结构体:
元类结构体是描述元类对象的结构体,它包含了元类对象的属性、实例变量、方法等信息。
对象方法没有保存在对象的结构体中,而是保存在类对象的结构体中,这是因为对象方法是属于类的一部分,而不是对象的一部分。每个类只需要保存一份对象方法就可以了,这样可以节省大量的内存空间。当对象接收到一个消息时,它会在类对象的方法列表中查找相应的方法,并调用它。