RunTime基礎
基礎路徑圖:
基礎圖
RunTime進階
進階路徑圖:
進階圖
在學習
RunTime
進階的時候, 我們就要了解更加的深入.
消息機制:
- objc_msgSend
- objc_msgSend_fpret
- objc_msgSend_stret
- objc_msgSendSuper
- objc_msgSendSuper_stret
對象關聯:
- objc_setAssociatedObject()
- objc_getAssociatedObject()
- objc_removeAssociatedObjects()
對象關聯的策略:
- OBJC_ASSOCIATION_ASSIGN
- OBJC_ASSOCIATION_RETAIN_NONATOMIC
- OBJC_ASSOCIATION_COPY_NONATOMIC
- OBJC_ASSOCIATION_RETAIN
- OBJC_ASSOCIATION_COPY
動態方法解析:
-
resolveInstanceMethod:
-
YES
, 通過class_addMethod
消息得到處理, 結束 -
NO
, 進入forwardingTargetForSelector
- 指定響應
selector
, 消息得到處理, 結束 - 不指定響應
selector
- 進入
methodSignatureForSelector
, 指定方法簽名, 調用forwardInvovation
, 通過anInvocation
做處理, 消息得到處理, 結束 - 不指定方法簽名, 該消息沒有得到處理, 系統報錯
- 進入
- 指定響應
-
RunTime應用
應用路徑圖:
Runtime應用.png