UITableview瘦身+組件化

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


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

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

2. 實現自己的中間件。首先繼承BaseAssemblyComponent,其次在setupComponent方法里初始化數據源or接受外面傳進來的數據源,然后調用系統繪制TableviewCell的方法。eg:


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


Github地址:ComponentTableView

實例Demo:Demo

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • iOS網絡架構討論梳理整理中。。。 其實如果沒有APIManager這一層是沒法使用delegate的,畢竟多個單...
    yhtang閱讀 5,236評論 1 23
  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,508評論 7 249
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,180評論 4 61
  • 隨著時間得推移我已要步入婚姻的殿堂。。腦子像電影一樣快速的回憶我的二十三歲以前。已不知不覺淚流滿面。訂婚是結婚得第...
    小欣_812a閱讀 226評論 2 2
  • 規則和自由在人們看來,是兩個不同的概念,因為它是兩個概念,人們就有了爭執,有人認為生活中可以沒有自由,但必須有...
    圓葉云霄閱讀 309評論 0 1