实例化后UICollectionVIew NIL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实例化后UICollectionVIew NIL相关的知识,希望对你有一定的参考价值。

我有一个UICollectionView,作为插座连接到故事板中的UICollectionView。我将此作为我的代码的一部分:

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

    let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    layout.itemSize = CGSize(width: 80, height: 80)

    ProductsCollection = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)

    ProductsCollection.dataSource = self // Here it says ProductsCollection is nil!
    ProductsCollection.delegate = self

在实例化之后,ProductsCollection = UICollectionView(frame: self.view.frame, collectionViewLayout: layout) ProductsCollection为零。我究竟做错了什么 ?

编辑:我断开了插座,但我仍然在同一行中获得零。

例外:

The Exception

答案

如果您没有在故事板中创建集合视图,则需要从代码中的属性声明中删除weak

此外,变量名称以小写字母开头。它应该是productsCollectionView。确保你也更新。

另一答案

我在我的项目中编写了这段代码,一切都很完美。

import UIKit

class ViewController: UIViewController {

    var productsCollection: UICollectionView?

    override func viewDidLoad() {
        super.viewDidLoad()

        let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
        layout.itemSize = CGSize(width: 80, height: 80)

        productsCollection = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)

        productsCollection?.dataSource = self
        productsCollection?.delegate = self
    }

}

extension ViewController: UICollectionViewDelegate {

}

extension ViewController: UICollectionViewDataSource {

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

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

}

以上是关于实例化后UICollectionVIew NIL的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView cellForItemAtIndexPath 滚动后返回 nil

在隐式展开可选值时意外发现 nil (UICollectionView)

在 collectionView:numberOfItemsInSection: 中传递的 UICollectionView 为 nil

UICollectionView 中的 viewForSupplementaryElementOfKind 返回 nil 并使用 swift 使应用程序崩溃

带有补充视图/节标题的 UICollectionView 中的断言失败,dataSource 为 nil?

UICollectionView insertSections 错误 - NSInvalidArgumentException 原因 setObjectForKey 对象不能为 nil UIColle