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

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

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

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

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

数据源对象管理你的内容

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

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

定义你的数据对象

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

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


ds_data_object_layout_2x.png

配置 cell 和补充视图

注册 cell 和补充视图

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

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

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

给 cell 显示编辑菜单

布局之间的过度

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容