Мне нужны данные из одной функции cellForItemAt IndexPath в одном классе, чтобы определить данные для ячейки в другом классе, и я полностью застрял - PullRequest
0 голосов
/ 13 января 2019

Итак, я создаю приложение для карточек с фиксированными карточками. Вы касаетесь колоды, чтобы просмотреть карты внутри, и мне нужно знать, сколько предметов для ячейки нужно вернуть, в зависимости от того, какая колода была выбрана. У меня есть настройка ячейки карты, чтобы показать карту с именем, зависящим от indexPath.item этой ячейки, но мне также нужно определить «cardSection», по которому также была выбрана колода. Так, например, если колода имела индекс 0, то cardSection должна быть строкой «History_of_Embalming_». эта строка затем берется и объединяется с индексом этой ячейки, делая ее «History_of_Emalming_0» и, таким образом, отображая карты в правильном порядке по имени. Итак, проблема, как я вижу, заключается в том, что мне нужны данные из одной ячейки, чтобы определить строку в аналогичной функции (cellForItemAt IndexPath) в другом классе, чтобы это работало, но я не знаю ни одного способа вытащить эту информацию из области видимости. и использовать его в другом месте. Если у кого-то есть идея получше и она может объяснить, почему я так глуп, пожалуйста, сделайте это! лол, спасибо тебе!!! Это мой переломный момент. Я исчерпал все остальные возможности в поиске ответа, поэтому я очень ценю любую помощь !!!!

Снимок экрана с первой колодой

Снимок экрана средства просмотра карт для первой колоды

КЛЕТОК ДЛЯ ПАЛУБОЙ:

override func collectionView(_ collectionView: UICollectionViev, numberOfItemsInSection section: Int) -> Int {
return collectionImageArray.count
}

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

    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
}

// КЛЕТОК ДЛЯ КАРТ:

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


    let imageNumber = indexPath.item

    collectionView.bounces = false

    let imageName = cardSection+String(imageNumber)+".jpg"
    cell.cardImageView.image = UIImage(named: imageName)?.withRenderingMode(.alwaysOriginal)

    return cell
}

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

    return 34 // To be determined
}
...