构建轻量级的Table View注意事项[UIKit]
參考文章來自objcio站點
?
一、使用ChildViewController
?
將Table ViewController作為Child View Controller加入到其它View Controller中。這種話父Controller能夠管理其它View。同一時候你的TableView Controller也能夠繼續管理自己的tableview。當然你須要通過一個delegate來使父Controller與子Controller進行通信
?
二、讓Cell能夠復用
?
對于復雜的Cell或者有事多種model對象須要同一個類型的cell表示時,那么我們能夠考慮把cell復用。
?
三、把TableView的DataSource分解到單獨的一個類中
?
UITableView中的DataSource大多都是對數組做的一些操作。能夠把數組操作相關的代碼移到單獨的類中。
能夠使用block或者delegate來設置一個cell。
?
補充
?
1、在分離時注意要把view層和Controller層的實現細節分開。delegate肯定清除一個view應該顯示什么狀態,可是它不應該了解怎樣改動view的結構或者給某些subviews設置某些屬性以獲得正確地狀態,全部的這些邏輯都應該封裝到view的內部,然后對外提供一些簡單的API
?
2、對于一個tableview中有多種類型的cell、datasource,我們就要通過推斷cell的類型。然后派發相應的方法。這點類似策略模式。
?
3、簡單來講,tableviewcontroller應該在model層和view層扮演一個協調者和解調者的決策。controller不應該關心明顯屬于view層和model層的任務。能夠使用delegate、block、datasource使得tableviewcontroller變得更加小巧。把業務邏輯和view的邏輯放到更加合適的地方,controller層里里外外的實現細節都封裝成簡單的API。
總結
以上是生活随笔為你收集整理的构建轻量级的Table View注意事项[UIKit]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 分析函数--Row_Num
- 下一篇: P2894 [USACO08FEB]酒店