将数据从一个集合视图传递到嵌入式集合视图

时间:2018-05-01 23:12:21

标签: ios swift uicollectionview uicollectionviewcell

我有mainUICollectionView个自定义mainUICollectionViewCell。在此mainUICollectionViewCell中,nestedUICollectionViewnestedUILabelnestedUICollectionViewCell

我尝试加载的数据是名为questions = [Question]()的变量,其中Question是自定义类。每个Question对象都有title[string]()

以下是我尝试实现的逻辑: 1. mainCollectionView应根据questions.count填充 2. nestedLabel.text = question[indexPath.row].tite 3. nestedCollectionView应根据相应answer的{​​{1}}属性填充。

我通过引用question viewControllers属性轻松完成了前两个任务。但是,由于我questions的{​​{1}}和UICollectionViewDelegate位于UICollectionViewDataSource,因此无法获得参考资料。我怎么能实现这第三步呢?

三江源

1 个答案:

答案 0 :(得分:1)

你可以尝试

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之前的ASKpScoreLogreturn cell内进行

cell.collectionView.reloadData()