Objective-C 浅谈meta-class (元类)
来源:互联网 发布:百度云搜索源码 编辑:程序博客网 时间:2024/06/01 10:30
定义:meta-class 是 Class 对象的类,同样也是个对象。
每个类都必须有一个唯一的 meta-class 。
任何基类的 meta-class 都是他们自己(他们的 isa 指向他们自己)。也就是说 NSObject 的 meta-class 的 isa 指针指向它们自己(是自己的一个实例)。
class 和 meta-class 的继承
和 Class 以 super_class 指针指向它的父类的方法一样,meta-class 以 super_class 指针指向 Class 的 super_class 的 meta-class。(这句话有点绕,就是 super-class 一个指向 Class 的父类,一个指向 meta-class 的父类。Class 是一般对象的类型,meta-class 是 Class 的类型。)基类的 meta-class 设置 super_class 指针指向基类自己。
类的实例对象的 isa 指向该类;该类的 isa 指向该类的 metaclass。
通俗的说就是:成员方法记录在 class method-list 中,类方法记录在 meta-class 中。也就是 instance-object 的信息在 class-object 中,而 class-object 的信息在 meta-class 中(查找按照上图中的横向)。
class 是 instance object 的类类型。当我们向实例对象发送消息(实例方法)时,我们在该实例对象的 class 结构的 method-lists 中查找相应的函数,如果没有找到则在该 class 的父类中的 method-lists中查找(查找按上图中间一排)。
- Objective-C 浅谈meta-class (元类)
- Objective-C 中的元类(meta class)
- Objective C meta-class
- Objective-C中的meta-class
- Objective-C中的meta-class
- Objective-C 中的 Meta-class
- Objective-C的object、class、meta-class
- 对象&类&元类(Object & Class & Meta Class)
- Objective-C中的meta-class isa
- An introduction to Objective-C Meta Class
- Objective-C 中的 Meta-class 是什么?
- 详解Objective-C的meta-class
- OBJECTIVE-C 中的 META-CLASS 是什么?
- 详解Objective-C的meta-class
- 详解Objective-C的meta-class
- Objective-C 中的 Meta-class 是什么
- 详解Objective-C的meta-class
- Objective-C的meta-class 详解
- js 比较日期大小
- storyboard点击背景关闭键盘
- java 代码片段
- GraphQL初探:从REST到GraphQL,更完善的数据查询定义
- Java设计模式-建造者模式
- Objective-C 浅谈meta-class (元类)
- java注解(一)概念及JABX使用例子
- 在view上画一个button,自定义其按下和松开后的样式
- java注解(二)自定义注解……
- 删除oracle10G
- Codeforces Round #441 (Div. 2)
- 检查空表
- io-nio-socket步步为营(八)实践练习
- apache + tomcate