UICollectionView 未链接到我的数据源 swift

UICollectionView not linking to my datasource swift

所以我有 2 个控制器。名为 viewController 的登录页面和名为 SecondViewController 的仪表板。现在,您单击登录页面并转到第二个视图控制器,它会在其中创建一个 CollectionView.

self.performSegue(withIdentifier: "loginSuccessful", sender:  self)

这是我要去 SecondViewController 的转折点。所以现在对于 SecondViewController 我创建了一个 UICollectionView 并在 storyboard 上创建了自定义单元格并将 CollectionView 连接到数据源。现在,当我登录到 SecondViewController 时,它显示以下错误。

SecondViewController collectionView:numberOfItemsInSection:]: unrecognized selector

这是我的 SecondViewController 代码:

import UIKit


class SecondViewController: UIViewController {

    @IBOutlet weak var UiToolbar: UINavigationItem!

    @IBOutlet var collectionView: UICollectionView!


    override func viewDidLoad() {
        super.viewDidLoad()


    }

    override func viewDidAppear(_ animated: Bool) {

    }


    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

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

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PhotoCell", for: indexPath)

        return cell
    }


}

PhotoCell 是我的 collectionViewCells 的标识符。我感谢任何能帮助我的人。

我认为您犯了一个简单的错误,只是将扩展名更改为 Second View Controller。喜欢

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

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PhotoCell", for: indexPath)

        return cell
    }


}