UITableview瘦身+組件化

看過輕量級ViewController采用的瘦身方法是將UITableViewDataSource抽離出來,但是這里Cell的繪制還是在ViewController里面,如果頁面復(fù)雜還是會有很多Cell的Block殘留。另外還有個問題就是,每次我新建一個ViewController時,都需要拷貝Cell的Block。我們能不能讓ViewController容量減少的同時,又能讓DataSource通用呢?


下面我們提出ComponentTableview,一種組件化的思路,我們把DataSource和Cell的繪制統(tǒng)一到一個Component(組件)里面,這樣就可以達(dá)到ViewController瘦身+Component高復(fù)用。詳細(xì)使用方法:

1. ViewController繼承BaseAssemblyDispatcher類,重寫components方法即可;例如:

2. 實現(xiàn)自己的中間件。首先繼承BaseAssemblyComponent,其次在setupComponent方法里初始化數(shù)據(jù)源or接受外面?zhèn)鬟M(jìn)來的數(shù)據(jù)源,然后調(diào)用系統(tǒng)繪制TableviewCell的方法。eg:


3、若想復(fù)用別人的中間件,僅僅只需要在UIViewController修改components方法;


Github地址:ComponentTableView

實例Demo:Demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容