UICollectionView —— 2. 集合视图数据源和代理设计

数据源
每个集合视图必须有一个数据源对象,数据源对象就是集合视图在 app 上显示的内容。
数据源对象可以是:

  • app 的数据模型对象
  • 管理 collection view 的视图控制器。

数据源的唯一要求是它必须能够提供的信息集合视图的需要,比如有多少项,哪些视图来显示这些 item。

代理
代理对象是一个可选的对象管理内容的呈现和交互相关的方面。尽管 代理对象的主要工作是去管理 cell 的高亮和选中。代理也可以扩展来提供额外的信息。例如,流水布局扩展基本的代理行为去自定义布局指标,例如 cell 的尺寸,cell 之间的空间。

数据源对象管理你的内容

数据源对象职责是管理你使用 collection view 呈现的内容。数据源对象必须遵守 UICollectionViewDataSource 协议,协议定义了你必须支持的最基本的行为和方法。数据源对象的工作是提供给 collection view 询问问题的答案:

  • collection view 有多少 sections ?
  • 每一 sections 有多少个 item ?
  • 每个 item 显示什么内容 ?

定义你的数据对象

一个有效的数据源使用 sections 和 items 去协助管理当前的数据对象。

使用嵌套数组来组织数据对象


UICollectionView —— 2. 集合视图数据源和代理设计_第1张图片
ds_data_object_layout_2x.png

配置 cell 和补充视图

注册 cell 和补充视图

**分离(从缓存池获取) 和 配置 cell 和 补充视图 **

Sections 和 Items 的插入,删除 和 移动操作

管理 选中 和 高亮的视觉状态

给 cell 显示编辑菜单

布局之间的过度

你可能感兴趣的:(UICollectionView —— 2. 集合视图数据源和代理设计)