关联对象的原理

作者: 大鹅ne | 来源:发表于2020-04-15 23:31 被阅读0次

实现关联对象技术的核心对象有
AssociationsManager
AssociationsHasMap
objectAssociationMap
objcAssociation

class AssociationsManager {
    static AssociationsHashMap *_map;
};
class AssociationsHashMap : public unordered_map<disguised_ptr_t,ObjectAssociationMap>
 class ObjectAssociationMap : public std::map<void *, ObjcAssociation> 
class ObjcAssociation {
        uintptr_t _policy;
        id _value;
};
Screen Shot 2020-04-15 at 11.02.04 PM.png

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

相关文章

网友评论

    本文标题:关联对象的原理

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