![](/img/trans.png)
[英]Send message to UITableViewCell from UITableViewController
[英]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.