美文网首页
关联对象实现原理

关联对象实现原理

作者: iLeooooo | 来源:发表于2019-02-16 14:36 被阅读2次
实现关联对象的核心对象有:
  • AssociationsManager
  • AssociationsHashMap
  • ObjectAssociationMap
  • ObjcAssociation
objc4源码解读:objc-references.mm
class AssociationsManager {
    // associative references: object pointer -> PtrPtrHashMap.
    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;
}
存放结构

注意:如果object对象没有对象引用了,被系统移除了,那么跟object对象一起关联的对象都会被移除。

相关文章

网友评论

      本文标题:关联对象实现原理

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