Не удается увидеть мой второй вид коллекции на ViewController

#ios #swift #uicollectionview #uicollectionviewcell

Вопрос:

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

массивы productsImages и StoresImages-это имена изображений, которые у меня есть в папке «Ресурсы». Кроме того, pillImage и compStoreImage у меня есть в качестве выхода в моих файлах ColectionViewCell.

Контроллер домашнего просмотра.swift

 import UIKit  class HomeViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource{    @IBOutlet weak var productCollectionView: UICollectionView!  @IBOutlet weak var storesCollectionView: UICollectionView!      func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -gt; Int {  if(collectionView == storesCollectionView) {  return storesImages.count  }  return productsImages.count  }    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -gt; UICollectionViewCell {  let cell = productCollectionView.dequeueReusableCell(withReuseIdentifier: "productsCell", for: indexPath) as! productCollectionViewCell    cell.pillImage.image = UIImage(named: productsImages[indexPath.row])    if(collectionView == storesCollectionView) {  let cell2 = storesCollectionView.dequeueReusableCell(withReuseIdentifier: "storesCell", for: indexPath) as! StoreCollectionViewCell  cell2.compstoreImage.image = UIImage(named: storesImages[indexPath.row])    return cell2  }  return cell  }      var productsImages:[String] = ["pillImage", "pillyImage", "pillsImage"]  var storesImages:[String] = ["compstoreImage", "compeImage", "compeStore"]      override func viewDidLoad() {  super.viewDidLoad()       // Do any additional setup after loading the view.  }     /*  // MARK: - Navigation   // In a storyboard-based application, you will often want to do a little preparation before navigation  override func prepare(for segue: UIStoryboardSegue, sender: Any?) {  // Get the new view controller using segue.destination.  // Pass the selected object to the new view controller.  }  */  }   

StoreCollectionViewCell.swift

 import UIKit  class StoreCollectionViewCell: UICollectionViewCell {    @IBOutlet var compstoreImage: UIImageView!       }  

productCollectionViewCell.swift

 import UIKit  class productCollectionViewCell: UICollectionViewCell {    @IBOutlet var pillImage: UIImageView! }   

Скриншот

Комментарии:

1. В вашем cellForItemAt методе, если(CollectionView == productCollectionView) { пусть ячейка = … } еще { пусть ячейка2 = … }

2. Вы уверены, что установили HomeViewController в качестве делегата и источника данных для представления обеих коллекций??

3. Спасибо, Альганади! Я забыл это сделать!