Category使得開發(fā)過程中,減少了繼承的使用,避免子類層級(jí)的膨脹。合理使用,可以在不侵入原類代碼的基礎(chǔ)上,寫出漂亮的擴(kuò)展內(nèi)容。我更習(xí)慣稱之為“分類”。
Category和Extension類似,都是對(duì)原類的擴(kuò)展,區(qū)別是前者需要提供Category的名稱,并且不直接支持屬性;后者為匿名,多存在于類的實(shí)現(xiàn)文件,觀感上實(shí)現(xiàn)屬性、變量、方法的私有效果。
主要記錄分類使用過程中常涉及的內(nèi)容:
1.關(guān)聯(lián)對(duì)象的使用
分類雖然不直接支持屬性,但是可以利用關(guān)聯(lián)對(duì)象的方法,達(dá)到屬性的正常使用效果。
添加常用的刷新類庫MJRefresh:https://github.com/CoderMJLee/MJRefresh
為了避免原代碼被侵入,采用了分類方案,給UIScrollView添加新的屬性和方法。新建了一個(gè)分類UIScrollView+RefreshControl,在.h文件中聲明了幾個(gè)屬性:
網(wǎng)友評(píng)論