Неправильный UICollectionView загружается в Venue UITableviewCell при обновлении в Swift - PullRequest
0 голосов
/ 30 мая 2018

В настоящее время я загружаю UITableView с 4 ячейками, выбранными из Firebase (экран 1), каждая ячейка содержит UICollectionView для отображения изображений места.-вниз для обновления вида (экран 2), неправильный UICollectionView загружается в место 3-й ячейки (экран 3)

Как я могу убедиться, что соответствующий UICollectionView загружен для правильного Venue Cell?

enter image description here

Причинение Неустранимая ошибка: индекс выходит за пределы диапазона в numberOfItemsInSection.

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

    return filteredVenueArray[collectionView.tag].imgURLs.count

}

Вот мой cellForItemAt функционал.

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "VenueListingCellImage", for: indexPath) as! VenueListingCellImage

    let urlString = filteredVenueArray[collectionView.tag].imgURLs[indexPath.item]

    let imgURL = URL(string: urlString)

    cell.configureCell(url: imgURL!)

    return cell
}

Вот мой UITableView willDisplay функционал.

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {

    //If cell has already been displayed it will just return
    if maxCellIndexAppeared > indexPath.row {
        return
    }
    //ELSE
    //here reset the current maximum index
    maxCellIndexAppeared = indexPath.row

    //animates the cell as it is being displayed for the first time
    cell.alpha = 1
    let transform = CATransform3DTranslate(CATransform3DIdentity, -10, 0, 0)
    cell.layer.transform = transform

    UIView.animate(withDuration: 0.5) {
        cell.alpha = 1
        cell.layer.transform = CATransform3DIdentity
    }

    guard let tableViewCell = cell as? VenueListingCell else { return }
    tableViewCell.setCollectionViewDataSourceDelegate(self, forRow: indexPath.row)



}//end func
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...