- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下情况
TableViewController (ExploreViewController) 具有自定义单元格 - CategoryTableViewCell。每个单元格都有一个带有 UICollectionViewCells 的 Collection View 。
我希望 CategoryTableViewCell 在显示 Collection View 单元格时联系 ExploreViewController 以确定需要显示哪些数据。数据取决于 TableView 单元格的索引路径行和 Collection View 单元格的索引。
如何使用委托(delegate)来完成此任务?
最佳答案
我不会那样做。我会将每个单元格所需的数据作为 TableView Controller 的 cellForRow(at:) 方法中的模型对象传递给它。如果单元格的数据发生变化,则向其传递一个新的模型对象。然后,单元格可以使用该模型数据来响应来自其子 Collection View 的数据源调用。
如果您决定使用委托(delegate)模式或类似的模式:
我们将其称为数据源而不是委托(delegate)。设计 CategoryTableViewCellDataSource 协议(protocol)。创建 CategoryTableViewCell 时,将 TableView Controller 设置为其数据源。
让单元格询问其数据源以显示数据。委托(delegate)协议(protocol)将使用单元格的位置来确定其索引路径,然后从模型中获取数据并返回它。 (您需要找到单元格内容 View 的中点,将该点转换为表格 View 的坐标系,然后使用表格 View 的 indexPathForRow(at:)
方法来计算出索引路径。
关于ios - 如何将数据从uitableviewcontroller发送到uitableviewcell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58034207/
我是一名优秀的程序员,十分优秀!