1. 分類可以做什么?
- 聲明私有方法
- 分解體積龐大的類文件
2.特點(diǎn)
- 運(yùn)行時(shí)決議
- 可以為系統(tǒng)類添加分類
3. Category可以添加哪些內(nèi)容
- 實(shí)例方法
- 類方法
- 協(xié)議
- 屬性(只能聲明setter和getter,并沒(méi)有實(shí)現(xiàn))
4. 分類的特性
- 分類添加的方法可以“覆蓋”原類的方法(實(shí)際上原類的方法還在內(nèi)存中,只不過(guò)分類方法在原類的前面,當(dāng)方法選擇器sel去方法列表中尋找方法時(shí),在前面的分類方法先返回了,自然不會(huì)再訪問(wèn)在后面的原類方法)
- 同名分類方法誰(shuí)能生效取決于編譯順序,最后被編譯的分類方法,會(huì)最優(yōu)先生效
- 名字相同的分類會(huì)引起編譯報(bào)錯(cuò)
5. 為分類添加成員變量
- 通過(guò)關(guān)聯(lián)對(duì)象的技術(shù)來(lái)為分類添加成員變量
相關(guān)方法
本質(zhì)

本質(zhì)
關(guān)聯(lián)對(duì)象的結(jié)構(gòu)

關(guān)聯(lián)對(duì)象結(jié)構(gòu)
2. Extension
2.1 Extension可以做什么
- 聲明私有屬性
- 聲明私有方法
- 聲明私有成員變量
2.1 Extension和Category的區(qū)別
- 編譯時(shí)決議
- 只能聲明的形式存在,多數(shù)情況下寄生于宿主類的.m文件中
- 不能為系統(tǒng)類添加擴(kuò)展
