Получение неверного номера индекса при прокрутке через UICollectionView - PullRequest
0 голосов
/ 19 января 2019

Я создаю приложение-карточку, в котором вы выбираете колоду карт из одного вида коллекции и, в зависимости от отображаемой ячейки, в которой есть изображение заголовка колоды, вам предоставляется определенная колода в другом виде коллекции.

У меня есть viewController, который возвращает 10 ячеек в качестве колод для выбора, и viewController для средства просмотра карт с количеством ячеек, зависящим от колоды, которая будет возвращена.Каждый из этих viewControllers имеет классы ячеек.У меня возникают проблемы с поиском способа вернуть правильные карты и количество ячеек в зависимости от выбранной колоды.

Я пытался сказать ей, чтобы она возвращала определенную строку в зависимости отindexPath.item и использовать его в качестве имени изображения.Это работает за исключением того, что indexPath.item не возвращается, как я ожидал, и я получаю неправильную колоду карт, поэтому мне кажется, что я неправильно понимаю способ определения indexPath.item и не могу найти работающее решение для возвратаправильная колода.

ПОСМОТРЕТЬ ИЗОБРАЖЕНИЕ - Изображение кода и распечатанные результаты После прокрутки ячеек индексные числа будут напечатаны нечетным образом.

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellId", for: indexPath) as! HomeViewCell

    collectionView.bounces = false

    let imageNumber = indexPath.item

    getNumber(imageNumber: imageNumber)
    let image = collectionImageArray[imageNumber].withRenderingMode(.alwaysOriginal)
    cell.collectionImage.setImage(image, for: .normal)
    cell.collectionImage.addTarget(self, action: #selector(handleCollectionTap), for: .touchUpInside)

    print(imageNumber)

    return cell
}

Когда я прокручиваю вниз до второй ячейки, индексный номер прыгает с 0 до 2 и продолжается 3, 4, 5 ... Если я прокручиваю вверх с индексного 4 до 3, это печатает, что я прыгаю с 3до 0.

...