![程序員與美女--絕配](https://ss2.baidu.com/-vo3dSag_xI4khGko9WTAnF6hhy/image/h=200/sign=ae0e95c0fc1986185e47e8847aec2e69/0b46f21fbe096b63eb314ef108338744ebf8ac62.jpg)
程序員與美女--絕配
背景
- 現(xiàn)如今越來越多的應(yīng)用中都會有類似qq好友列表的展示與隱藏的情況,那么有必要熟悉一下這一塊的思想,之后寫起代碼來將會得心應(yīng)手.
- 本文只是抽取以往項目中的一塊進行思想講解,只有懂得了原理,那么代碼寫起來快的讓你飛起來.(
接下來有點枯燥,我盡量用最簡潔,精準(zhǔn)的語言給予重點描述以減少觀賞的疲勞性
)
重要思想
-
總體分為兩塊:
- 沒有擴展的時候,只是顯示sectionHeader
- 擴展的時候,需要顯示每個section下的具體cell
-
從上述分析可知,需要兩種模型,一種是
cellItem
,另一種是sectionItem
-
cellItem
的內(nèi)容很基本,用系統(tǒng)的cell就可以展示 -
sectionItem
的內(nèi)容,需要關(guān)聯(lián)該分組內(nèi)有多少的cell,具體是哪些cell,因此需要一個數(shù)組模型
來保存具體的cell模型即可.
-
經(jīng)過上述兩步,在控制器進行綁定相應(yīng)的DataSource,Delegate,實現(xiàn)相應(yīng)的方法,基本可完成.
等等是不是忘了什么?
- note: 按照上述的思想編寫之后,并不會展示cell,原因分析如下:
- 要想判斷當(dāng)前是否擴展,則需要一個屬性記錄.這個記錄由于是關(guān)于section的,因此需要保存到section相應(yīng)的模型中.
- 當(dāng)每次點擊section的時候,進行改變該屬性值即可.
- 還有另一個問題是:如何
刷新此刻是否折疊
,何時進行刷新的操作?- 分析之后,應(yīng)該在點擊section時候,進行刷新該section組即可.
歇菜了
![歇菜了](https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2340966125,1887442018&fm=116&gp=0.jpg)
歇菜了
以上就是主要的思想.之后會將代碼Demo傳上去,歡迎繼續(xù)關(guān)注.