Я пытаюсь поместить UICollectionView в UITableViewCell, но думаю, что я делаю неправильно ... Так вот мой код:
PanierMenuCell - это UITableViewCell
extension PanierMenuCell : UICollectionViewDataSource, UICollectionViewDelegate {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return listProduit.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cellIdentifier = "PanierCollectionCell"
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellIdentifier, for: indexPath) as? PanierCollectionCell else {
fatalError("erreur de conversion !!")
}
cell.ONom.text = listProduit[indexPath.row].nomProduct
cell.OQtt.text = "x\(listProduit[indexPath.row].nbProduct)"
cell.OImage.image = UIImage(named: "test")
cell.backgroundColor = .gray
cell.layer.borderWidth = 1
cell.layer.borderColor = UIColor.lightGray.cgColor
cell.layer.cornerRadius = 5
return cell
}
}
Вот мой класс, вызывающий UITableViewCell:
extension PanierVC : UITableViewDataSource, UITableViewDelegate {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return listPanierProduct.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = "PanierMenuCell"
guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? PanierMenuCell else {
fatalError("erreur de conversion !!")
}
let produit = listPanierProduct[indexPath.row].product as! Menu
let listProduit = produit.getListProducts()
cell.listProduit = listProduit
cell.OTotal.text = "Total: \(produit.prix)0€"
cell.ONomMenu.text = "Menu : \(produit.nom)"
cell.backgroundColor = .gray
return cell
}
Итак, вот проблема: когда я использую несколько ячеек с collectionView внутри без прокрутки табличного представления, это работает хорошо, проблема в том, когда мне нужно прокрутитьвниз tableView (tableView так перезагружает ячейку), что вызывает ошибку: «Поток 1: Неустранимая ошибка: индекс выходит за пределы диапазона» в
cell.ONom.text = listProduit[indexPath.row].nomProduct
Элемент внутри UICollectionView смешан вместеЯ имею в виду, что ячейка табличного просмотра будет принимать некоторые элементы, которые, как предполагается, находятся в другой ячейке табличного представления, например, если ячейка cell.listproduit была смешанной ... Не знаю, насколько я был ясен, но я могу объяснить больше, если это необходимо.
Есть идеи, как мне решить эту проблему?Спасибо большое