美文网首页
class、object_getClass、objc_getCl

class、object_getClass、objc_getCl

作者: iOS技术交流 | 来源:发表于2022-06-08 11:01 被阅读0次

    在Objective-C的类型结构中,有几个比较重要的概念:Object(实例),Class(类),Metaclass(元类),Rootclass(根类),Rootclass‘s metaclass(根元类),且这些都是对象。

    对于class、object_getClass、objc_getClass这三种方法,全部返回CLass类对象;objc_getMetaClass方法返回元类对象。


    直接代码测试:

    打印结果:

    总结:

    1、如果是instance实例对象,返回class对象;

    2、如果是class类对象,返回meta-class对象;

    3、如果是meta-class元类对象,返回NSObject(基类)的meta-class对象

    4、objc_getMetaClass 获取元类MetalClass

    5、objc_getClass 获取对应类Class

    6、object_getClass 获取 object 的isa指针对象


    二、object_getClass(obj)与[obj class]的区别

    打印结果如下:

    总结:

    object_getClass(obj)与[obj class]打印结果一样;获得的isa指针指向的类对象(即指向类对象的指针,即对应的类)。

    希望以上内容能帮到你们,谢谢。

    相关文章

      网友评论

          本文标题:class、object_getClass、objc_getCl

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