У меня есть TableView, который встроен в CollectionView, и я пытаюсь показать соответствующие данные в TableView, которые соответствуют правильному CollectionViewCell или IndexPath Item. Я попытался назначить тег так: cell.tableView.tag = indexPath.item
, но это кажется проблематичным.
Я попытался print(tableView.tag)
в моей коллекции ViewCell, и она напечатала
2 1 0 3 4 5
но у меня всего 7 collectionViewCells, поэтому последний тег по какой-то причине не печатается.
Мой collectionView уже встроен в другой TableView, ниже приведен код в MasterTableViewCell.swift:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if diningIndexPath.section == 0 {
let cell: FoodCourtCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "foodCourtCell", for: indexPath) as! FoodCourtCollectionViewCell
cell.tableView?.register(UINib(nibName: "RestaurantTableViewCell", bundle: nil), forCellReuseIdentifier: "restaurantCell")
cell.tableView.tag = indexPath.item
//...
return cell
}
}
В customCollectionViewCell.swift у меня есть этот код для моего tableView:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: RestaurantTableViewCell = tableView.dequeueReusableCell(withIdentifier: "restaurantCell", for: indexPath) as! RestaurantTableViewCell
print(tableView.tag)
let currentRestaurant = foodCourts[tableView.tag].childLocations[indexPath.row]
cell.textLabel.text = currentRestaurant.name
//...
return cell
}
Есть ли способ исправить это или есть другие способы добиться того, что я хочу сделать? Любая помощь приветствуется, спасибо!