未调用UICollectionView的数据源和委托方法。我有
class MessagesViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView.dataSource = self
self.collectionView.delegate = self
功能
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
没有被调用。
答案 0 :(得分:2)
由于声誉低,我无法撰写评论,但我的猜测是你在viewDidLoad()方法中设置了dataSource和delegate。也许通过控件从您的CollectionView拖动到包含它的ViewController来挂钩dataSource并在storyboard中委派。在viewDidLoad()中设置dataSource和delegate之后,您还可以尝试使用collectionView.reloadData()重新加载collectionView数据。
答案 1 :(得分:0)
SWIFT 3 - 在swift 3中,委托方法稍有改变。由于这些变化,我遇到了同样的问题。请找到正确的委托方法
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
//Do here
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath:IndexPath) -> UICollectionViewCell {
//Do here
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
//Do here
}