https://www.jianshu.com/p/02d3d689d556
- method swizzling: objective-c向一个对象发送消息时,具体会执行哪个方法,则是运行时系统根据selector查找对应的IMP得到的。
objc_getAssociatedObject
id _object_get_associative_reference(id object, void *key)
猜测一下get的过程应该是这样的:
先获取AssociationsManager单例,进而获取AssociationsHashMap
通过object获取ObjectAssociationMap
通过key获取ObjcAssociation
取出ObjcAssociation中的value并返回
image.png
objc_setAssociatedObject
Runtime源码 —— Associated Object
https://www.jianshu.com/p/de95ff8230bd
Runtime源码 —— 对象、类和isa
https://www.jianshu.com/p/a8eade8a1c6d
网友评论