數(shù)據(jù)源
每個(gè)集合視圖必須有一個(gè)數(shù)據(jù)源對象,數(shù)據(jù)源對象就是集合視圖在 app 上顯示的內(nèi)容仲器。
數(shù)據(jù)源對象可以是:
- app 的數(shù)據(jù)模型對象
- 管理 collection view 的視圖控制器获询。
數(shù)據(jù)源的唯一要求是它必須能夠提供的信息集合視圖的需要,比如有多少項(xiàng),哪些視圖來顯示這些 item掖棉。
代理
代理對象是一個(gè)可選的對象管理內(nèi)容的呈現(xiàn)和交互相關(guān)的方面聂抢。盡管 代理對象的主要工作是去管理 cell 的高亮和選中。代理也可以擴(kuò)展來提供額外的信息帖努。例如撰豺,流水布局?jǐn)U展基本的代理行為去自定義布局指標(biāo),例如 cell 的尺寸拼余,cell 之間的空間郑趁。
數(shù)據(jù)源對象管理你的內(nèi)容
數(shù)據(jù)源對象職責(zé)是管理你使用 collection view 呈現(xiàn)的內(nèi)容。數(shù)據(jù)源對象必須遵守 UICollectionViewDataSource 協(xié)議姿搜,協(xié)議定義了你必須支持的最基本的行為和方法寡润。數(shù)據(jù)源對象的工作是提供給 collection view 詢問問題的答案:
- collection view 有多少 sections ?
- 每一 sections 有多少個(gè) item 舅柜?
- 每個(gè) item 顯示什么內(nèi)容 梭纹?
定義你的數(shù)據(jù)對象
一個(gè)有效的數(shù)據(jù)源使用 sections 和 items 去協(xié)助管理當(dāng)前的數(shù)據(jù)對象。
使用嵌套數(shù)組來組織數(shù)據(jù)對象
ds_data_object_layout_2x.png
配置 cell 和補(bǔ)充視圖
注冊 cell 和補(bǔ)充視圖
**分離(從緩存池獲戎路荨) 和 配置 cell 和 補(bǔ)充視圖 **