Category使得開發(fā)過程中,減少了繼承的使用,避免子類層級的膨脹。合理使用,可以在不侵入原類代碼的基礎(chǔ)上,寫出漂亮的擴(kuò)展內(nèi)容。我更習(xí)慣稱之為“分類”。

Category和Extension類似,都是對原類的擴(kuò)展,區(qū)別是前者需要提供Category的名稱,并且不直接支持屬性;后者為匿名,多存在于類的實現(xiàn)文件,觀感上實現(xiàn)屬性、變量、方法的私有效果。

主要記錄分類使用過程中常涉及的內(nèi)容:

1.關(guān)聯(lián)對象的使用

分類雖然不直接支持屬性,但是可以利用關(guān)聯(lián)對象的方法,達(dá)到屬性的正常使用效果。

添加常用的刷新類庫MJRefresh:https://github.com/CoderMJLee/MJRefresh

為了避免原代碼被侵入,采用了分類方案,給UIScrollView添加新的屬性和方法。新建了一個分類UIScrollView+RefreshControl,在.h文件中聲明了幾個屬性:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式