Передача данных из одного представления коллекции во встроенное представление коллекции - PullRequest
0 голосов
/ 02 мая 2018

У меня есть mainUICollectionView с пользовательским mainUICollectionViewCell. В этом mainUICollectionViewCell это nestedUICollectionView с nestedUILabel и nestedUICollectionViewCell.

Данные, которые я пытаюсь загрузить, представляют собой переменную с именем questions = [Question](), где Question - это пользовательский класс. Каждый Question объект имеет title и [string]().

Вот какая логика я пытаюсь реализовать: 1. mainCollectionView должен заполняться на основе questions.count 2. nestedLabel.text = question[indexPath.row].tite 3. nestedCollectionView должен заполняться на основе свойства answer соответствующего question.

Первые две задачи я выполнил легко, ссылаясь на свойство viewControllers questions. Однако, поскольку UICollectionViewDelegate и UICollectionViewDataSource для моих nestedCollectionView находятся в mainUICollectionViewCell, я не могу получить ссылку на него. Как я могу достичь этого третьего шага?

Thankyou

1 Ответ

0 голосов
/ 02 мая 2018

Вы можете попробовать

class ViewController : UIViewController {

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

   // pass data only ,this in the  viewController
        let answers = questions[indexPath.row].answers
        cell.answers = answers 


   //

   }

}

&

class mainUICollectionViewCell: UICollectionViewCell , UICollectionViewDelegate , UICollectionViewDataSource {

       var answers = [String]()

       override func awakeFromNib () {

        self.nestedCollectionView.delegate = self

        self.nestedCollectionView.dataSource= self

       // register the nib / nestedUICollectionViewCell here 

       }
}

//

Внутри cellForRow в ASKpScoreLog до return cell до

cell.collectionView.reloadData()
...