美文网首页
Objective-C的哪些特性利用了运行时机制

Objective-C的哪些特性利用了运行时机制

作者: Adam_潜 | 来源:发表于2018-12-09 16:42 被阅读10次

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

相关文章

网友评论

      本文标题:Objective-C的哪些特性利用了运行时机制

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