這篇文字不扯淡,不講runtime是什么,只總結(jié)下runtime 可以用來干什么。
這幾篇文章寫的很好,
Objective-C Runtime
Method Swizzling 和 AOP 實踐
南大(南鋒子)的一系列文章(打開稍慢)
[精通Objective-C]進階技巧:使用運行時系統(tǒng)API
然后饒神總結(jié)的也不錯,里面好多干貨
iOS 基礎(chǔ)知識點網(wǎng)址
美團技術(shù)團隊
深入理解Objective-C:Category
深入理解Objective-C:方法緩存
Obj-C Optimization: IMP Cacheing Deluxe
楊小魚(玉令天下)
Objective-C Runtime
1,獲取類屬性列表、值、方法
2,替換已有函數(shù)(包括系統(tǒng)方法)
可以把系統(tǒng)方法替換為我們自己的方法。
替換系統(tǒng)彈框方法,統(tǒng)一修改彈框標題 demo地址
3,動態(tài)掛載對象
4,動態(tài)創(chuàng)建類 KVO 底層實現(xiàn)原理
5,自動歸檔、歸檔解檔
[coder encodeObject:value forKey:propertyName];
[self setValue:value forKey:propertyName];
統(tǒng)一為property添加方法 不用一個個的寫 demo地址
6,給分類添加屬性
7,字典轉(zhuǎn)模型
同樣是獲取類的屬性,然后調(diào)用 [instance setValue:value forKey:key] 賦值 demo地址