iOS object_getClass、objc_getClass、class区别
来源:     阅读:551
织梦模板店
发布于 2021-03-20 07:34
查看主页

对于这几个方法的区别,首先需要理解 OC 类的数据结构,(任何runtime的文章都会详情的)

对于 classobject_getClassobjc_getClass 三种方法,首先:一律返回 Class 类对象

Person *p = [[Person alloc]init];Class *pClass == [p class] == [ [p class]class] == [[ [p class]class]class] == [Person class]
Person *p = [[Person alloc]init];     p->[Person class]->PersonMeteClass->PersonMetaClass(元类的ISA指针是指向自己的)

意思是 p 的 isa 指向 [Person class] , [Person class] 的 isa 指向 PersonMeteClass
勘误:PersonMeteClass应该指向基类的meteClass,基类meteClass指向他自己



验证:通过 class_isMetaClass 方法可以验证(方法判断能否是元类)



免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 软件环境
相关推荐
APUE读书笔记-05标准输入输出库(4)
WordPress全新核心编辑器插件
10 个很实用的 JavaScript 技巧
即将发布的 Apache Spark 2.4 都有哪些新功能
C、C++、Java、JavaScript、PHP、Python分别用来开发什么?
首页
搜索
订单
购物车
我的