iOS总结-Runtime篇之用途及面试题的总结一黑魔法Method Swizzling
生活随笔
收集整理的這篇文章主要介紹了
iOS总结-Runtime篇之用途及面试题的总结一黑魔法Method Swizzling
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
runtime的用途基本分下面幾類:
實現多繼承Multiple Inheritance
上一篇里面的最后利用methodSignatureForSelector來進行一次轉發,在forwardInvocation方法里,Person將是send的方法轉移到可以實現send方法的gender對象,其實還是gender來實現的。類似于多繼承,好像看著是Person有了send方法,這就是實現了兩個完全沒有聯系的兩個對象實現了同一個方法,解耦性很強。
Method Swizzling
runtime的黑魔法,運行時將兩個Method進行exchange,本質上是SEL 和IMP的互換。
也是AOP(面向切面編程)的一種實現方式,用在AOP 埋點統計 ?實現異常保護,數組越界
埋點統計
參照https://www.jianshu.com/p/0497afdad36d
數組越界
?
網上的好多demo,打印奔潰信息,引入工程后,照樣carsh,我親自嘗試后推薦https://github.com/chenfanfang/AvoidCrash,沒有問題。
?
總結
以上是生活随笔為你收集整理的iOS总结-Runtime篇之用途及面试题的总结一黑魔法Method Swizzling的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ps AO画法
- 下一篇: C++之模板类模板函数