美文网首页
iOS 分类添加属性底层数据实现

iOS 分类添加属性底层数据实现

作者: nickNic | 来源:发表于2021-05-31 10:24 被阅读0次

    实现关联对象技术的核心对象有
    AssociationsManager
    AssociationsHashMap
    ObjectAssociationMap
    ObjcAssociation

    关联对象并不是存储在被关联对象本身内存中
    关联对象存储在全局的统一的一个AssociationsManager中,
    如果设置关联对象为nil,就相当于是移除关联对象。

    关联对象的底层数据结构:

    结构体中有一个成员变量AssociationsHashMap,它的key是传入的object指针(实际上做了一些位运算),它的value是一个ObjectAssociationMap,ObjectAssociationMap的key是传入的指针地址,它的value是一个ObjcAssociation,ObjcAssociation结构中有两个成员变量,value和policy(传入的value和策略)

    8323741-860a72f30c7958ba.png

    相关文章

      网友评论

          本文标题:iOS 分类添加属性底层数据实现

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