2016-06-30 2 views
0

Я сделал UICollection View. В моем ViewController у меня есть следующий код:UICollection View никогда не загружается

import UIKit 
import AlamofireImage 

class MYViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, MYItemCellDelegate { 

    let viewModel : MYViewModel = StandPlaceViewModel() 

    @IBOutlet weak var itemCollectionView: UICollectionView! 
    @IBOutlet weak var ItemCountLabel: UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.viewModel.getItems(self.viewModel.stand) { items in 
      self.ItemCountLabel.text = String(self.viewModel.itemCount) 
      self.itemCollectionView.reloadData() 
     } 
    } 

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return self.viewModel.tableDict.count 
    } 


    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     print("IN COLLECTION OF ITEMS") 
     let cell: MYItemCell = collectionView.dequeueReusableCellWithReuseIdentifier("itemCell", forIndexPath: indexPath) as! MYItemCell 
     cell.itemTitleLabel.text = self.viewModel.tableDict[indexPath.row]![0] 
     return cell 
    } 

    func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { 
     print("Cell \(indexPath.row) selected") 
    } 

... 

Моя проблема в том, что UICollection никогда не загружается. В КОЛЛЕКЦИИ ДЕТАЛЕЙ никогда не печатается. У меня есть отдельная страница с коллекцией, и все работает отлично, и я не могу найти разницу.

ItemCountLabel.text правильно установлен в viewDidLoad(), но reloadData() никогда не вызывает код collectionView.

Я бы ожидал, что В КОЛЛЕКЦИИ ИЗДЕЛИЙ будет напечатана дважды.

+1

ли вы попробовать добавить 'self.itemCollectionView.dataSource = self' в начале viewDidLoad()? – xinatanil

ответ

1

Добавить этот код в viewDidLoad

self.itemCollectionView.delegate = self; 
self.itemCollectionView.dataSource = self; 
+0

* .dataSource, но да, что сработало, спасибо – Rorschach

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