2017-02-05 2 views
0

Это мой класс для ImageController (ViewController) Пока отображается только фон представления коллекции, в то время как в нем нет ячеек. Любая помощь? Есть ли что-то, что я не инициализировал правильно?Ячейки UICollectionView не отображаются, когда UICollectionView background is

Вот класс:

class ImageController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate { 

    let reuseIdentifier = "imageCell" 

    @IBOutlet weak var collectionView: UICollectionView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
    } 

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return 10 
    } 

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

     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! ImageCell 

     cell.myImage.image = unknown //name of image, isn't the cause of error 

     return cell 
    } 

} 
+0

Вы фактически назначили делегата и источник данных? Я вижу, что вы настроены на VC, чтобы соответствовать обоим, но вам все равно нужно сказать 'collectionView.delegate = self' и' collectionView.dataSource = self' – Pierce

ответ

0

Вы должны добавить в viewDidLoad():

collectionView.delegate = self 
collectionView.dataSource = self 

Кроме того, попытайтесь отладить методы (добавить точки останова и проверить, если они достижимы).

Надеюсь, это помогло.

+0

Это сработало! Просто быстрый вопрос: у меня есть аналогичный класс/контроллер, который не использует эти две строки кода, и он все еще работает нормально. Любая идея, почему это может быть? – Shekar

+0

Вы, вероятно, добавили UICollectionViewController или подключили делегатов UICollectionView на ViewController Scene. – Aragunz

+0

@Shekar Да, возможно, вы захотите проверить коллекциюView из раскадровки и посмотреть, подключены ли ее делегат/источник данных, или, может быть, это UICollectionViewController, который будет автоматически подключен со стюарда –

0

Если вы не хотите использовать строки кода, упомянутые выше, просто щелкните правой кнопкой мыши на коллекцииView и перетащите на ViewController Scene желтое пространство и выберите делегат и dataSoruce. enter image description here

Смежные вопросы