【问题标题】:Swift 4 - Pass Data To TableView Embedded In Collection View CellSwift 4 - 将数据传递给嵌入在集合视图单元格中的 TableView
【发布时间】:2019-02-15 09:19:09
【问题描述】:
我正在快速创建一个天气应用程序。有一个主视图控制器,在控制器内,有一个带有两个单元格的集合视图。每个单元格中都有一个表格视图。
在视图控制器中,有一个网络调用,一个数组填充了数据。目标是将这些数据传递到每个 tableview 单元格中以显示它
我创建了一个图表来显示集合视图和表格视图的设置方式。
如果有办法做到这一点,那么任何帮助将不胜感激!
【问题讨论】:
标签:
swift
xcode
uitableview
uicollectionview
【解决方案1】:
填充UITableViewCell 的方法是覆盖cellForRowAt: 方法。
func tableView(_ tableView: UITableView,
cellForRowAt indexPath: IndexPath) -> UITableViewCell
但是,数据必须首先传递给UICollectionViewCell。同样,这也可以通过覆盖cellForItemAt: 方法来实现。
func collectionView(_ collectionView: UICollectionView,
cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
因此您可以子类 UICollectionViewCell 并声明一个自定义成员变量来存储数据。另外,使子类符合UITableViewDataSource 的协议,这样你就必须重写UITableViewDataSource 的cellForRowAt: 方法。从那里,您还可以参考UITableViewCell 的另一个子类,它也将拥有一个存储数据的自定义成员变量。最后,自定义UITableViewCell子类如何显示数据。