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

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

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

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

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

添加常用的刷新類(lèi)庫(kù)MJRefresh:https://github.com/CoderMJLee/MJRefresh

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

延伸閱讀

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