实例化后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为零。我究竟做错了什么 ?
编辑:我断开了插座,但我仍然在同一行中获得零。
例外:
如果您没有在故事板中创建集合视图,则需要从代码中的属性声明中删除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