美文网首页
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