繁体   English   中英

如何将数据从 uitableviewcontroller 发送到 uitableviewcell

[英]how to send data from uitableviewcontroller to uitableviewcell

我有以下情况

TableViewController (ExploreViewController) 具有自定义单元格 - CategoryTableViewCell。 每个单元格都有一个带有 UICollectionViewCells 的集合视图。

我希望 CategoryTableViewCell 在显示集合视图单元格时联系 ExploreViewController 以确定它需要显示哪些数据。 数据取决于表格视图单元格的索引路径行和集合视图单元格的索引。

我怎样才能使用委托来实现这一点?

我不会那样做的。 我会在表格视图控制器的cellForRow(at:)方法中将每个单元格需要的数据作为 model object 传递给它。 如果单元格的数据发生更改,请将新的 model object 传递给它。 然后单元格可以使用该 model 数据来响应来自其子集合视图的数据源调用。

如果您决定使用委托模式或类似模式:

让我们称它为数据源而不是委托。 设计一个 CategoryTableViewCellDataSource 协议。 创建 CategoryTableViewCell 时,将表视图 controller 设置为其数据源。

让单元格询问它的数据源以显示数据。 委托协议将使用单元的 position 来确定它的索引路径,然后从 model 获取数据并返回。 (你会找到单元格内容视图的中点,将该点转换为表格视图的坐标系,然后使用表格视图的indexPathForRow(at:)方法找出索引路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM