key:主对象的~uintptr_t(uint指针取反)
value:ObjectAssociationMap<key, assocatedOBJ>
存储到全局的HashMap中
objc_getAssociatedObject
先通过 key = 主对象的~uintptr_t(uint指针取反)从全局HashMap中拿到
value:ObjectAssociationMap<key, assocatedOBJ>
然后通过key从ObjectAssociationMap<key, assocatedOBJ>中拿到assocatedOBJ
objc_setAssociatedObject
通过key在全局HashMap中找ObjectAssociationMap<key, assocatedOBJ>
找到->检查key是否已用->key已用就用新对象替换旧对象
key未用直接加进去
没找到->new ObjectAssociationMap -> 直接加进去