Ios 组合表视图&;Swift中的集合视图

Ios 组合表视图&;Swift中的集合视图,ios,swift,uitableview,uicollectionview,Ios,Swift,Uitableview,Uicollectionview,我被卡住了。。。 我有一个collectionView(我们称之为masterCollectionView)。collectionView的每个单元格都包含一个数据列表 在masterCollectionView中的每个collectionView单元格中,我都有一个tableView,它保存每行中的所有记录,并根据数据集中的某些条件分组为tableView部分 数据存储在我从云端下载的多维数组中,这提供了masterCollectionView单元格的列表标题,以及各个表视图的每个列表中的#部

我被卡住了。。。 我有一个collectionView(我们称之为
masterCollectionView
)。collectionView的每个单元格都包含一个数据列表

masterCollectionView
中的每个collectionView单元格中,我都有一个tableView,它保存每行中的所有记录,并根据数据集中的某些条件分组为tableView部分

数据存储在我从云端下载的多维数组中,这提供了
masterCollectionView
单元格的列表标题,以及各个表视图的每个列表中的#部分#和#记录(即行)

我的问题是,在填充tableView时,我无法分辨我在哪个
masterCollectionView
单元格中。例如:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
}
上述函数不允许我识别当前正在构建tableView的
masterCollectionView
单元格,因此我不知道要加载数据数组中的哪些记录

目前,我已经在interface builder中将上述所有内容构建为一个故事板,以及一个相应的viewController,但可以根据建议轻松进行更改


请帮忙。我正在紧张工作。

您可能希望为每个集合视图单元格提供一个单独的表视图数据源实例

您可以创建一个新的NSObject子类,实现UITableViewDataSource,其目的只是充当一个单元格的数据源。此对象只能使用该单元格的数据进行配置


然后,您将拥有这些实例的一个数组,每个集合视图单元对应一个实例。将单元格加载到cellForItemAtIndexPath中时,请将该单元格的表视图委托设置为数组中正确的数据源。

您可能希望为每个集合视图单元格提供一个单独的表视图数据源实例

您可以创建一个新的NSObject子类,实现UITableViewDataSource,其目的只是充当一个单元格的数据源。此对象只能使用该单元格的数据进行配置


然后,您将拥有这些实例的一个数组,每个集合视图单元对应一个实例。将单元格加载到cellForItemAtIndexPath中时,请将该单元格的表视图委托设置为数组中正确的数据源。

您可能希望为每个集合视图单元格提供一个单独的表视图数据源实例

您可以创建一个新的NSObject子类,实现UITableViewDataSource,其目的只是充当一个单元格的数据源。此对象只能使用该单元格的数据进行配置


然后,您将拥有这些实例的一个数组,每个集合视图单元对应一个实例。将单元格加载到cellForItemAtIndexPath中时,请将该单元格的表视图委托设置为数组中正确的数据源。

您可能希望为每个集合视图单元格提供一个单独的表视图数据源实例

您可以创建一个新的NSObject子类,实现UITableViewDataSource,其目的只是充当一个单元格的数据源。此对象只能使用该单元格的数据进行配置


然后,您将拥有这些实例的一个数组,每个集合视图单元对应一个实例。当单元格加载到cellForItemAtIndexPath中时,将该单元格的表视图委托设置为数组中的正确数据源。

好的,我将首先为您提供问题的最快解决方案,尽管它很容易实现,但这不是“正确”的方法,我将在后面解释

因此,最快的方法是使用视图标记。每个
UIView
都有一个整数标记成员。所以无论你在哪里摆好桌子,你都可以这样做

我没有你的代码,所以我假设你正在设置你的表

func collectionView(collectionView:UICollectionView,
cellForItemAtIndexPath indexPath:NSIndexPath)->UICollectionViewCell

您的
UICollectionView
的函数,因此您可以在其中执行以下操作

myTableView.tag = indexPath.row
这应该在创建TableView时将标记设置为TableView,TableView将作为数组中的索引。在您的
UITableView
数据源中,您可以这样做

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return yourDataArray[tableView.tag].count;
}

这是一种短而快速的方法正确的方法是正确地分解数据,希望您的
UICollectionView
单元格作为包含的
UITableView
的数据源,然后在需要时加载数据。

好的,我将首先为您的问题提供最快的解决方案,虽然它很容易实现,但它不是“正确”的实现方式,我将在后面解释

因此,最快的方法是使用视图标记。每个
UIView
都有一个整数标记成员。所以无论你在哪里摆好桌子,你都可以这样做

我没有你的代码,所以我假设你正在设置你的表

func collectionView(collectionView:UICollectionView,
cellForItemAtIndexPath indexPath:NSIndexPath)->UICollectionViewCell

您的
UICollectionView
的函数,因此您可以在其中执行以下操作

myTableView.tag = indexPath.row
这应该在创建TableView时将标记设置为TableView,TableView将作为数组中的索引。在您的
UITableView
数据源中,您可以这样做

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return yourDataArray[tableView.tag].count;
}

这是一种短而快速的方法正确的方法是正确地分解数据,希望您的
UICollectionView
单元格作为包含的
UITableView
的数据源,然后在需要时加载数据。

好的,我将首先为您的问题提供最快的解决方案,虽然它很容易实现,但它不是“正确”的实现方式,我将在后面解释

因此,最快的方法是使用视图标记。每个
UIView
都有一个整数标记成员。所以无论你在哪里摆好桌子,你都可以这样做

我没有你的代码,所以我假设你正在设置你的表

func收集