UICollectionView不显示单元格并使应用程序Xcode 10.0崩溃

时间:2018-10-12 14:22:06

标签: ios swift uicollectionview constraints sigabrt

我是Xcode的新手,如果我遗漏了一些明显的东西,我深表歉意,但是我已经坚持了好几天。

我已经创建了一个UICollectionView-collection view in storyboard

在视图的每一侧都有0个约束,在上面的标签也有一个约束。单元格中的图像和标签也有限制。

当我运行应用程序时,我得到了-Running application

我不确定给定约束怎么可能。但是,如果我删除任何约束,请编辑现有约束,或者将其完全删除,我只会得到SIGABRT异常。

我非常困惑,如果我的代码正在编译并运行,我假设填充UICollectionView的代码正在运行。有东西

TestVC.swift

import UIKit

class TestVC: UIViewController, UICollectionViewDelegate,UICollectionViewDataSource {

@IBOutlet weak var myCollection: UICollectionView!

// making this an empty array incase the data hasn't loaded yet.
private(set) public var testArrays = [dataArrays]()

override func viewDidLoad() {
    super.viewDidLoad()

    myCollection.dataSource = self
    myCollection.delegate = self

}

func initData(category: Category){

    testArrays = DataService.instance.testData(forCategoryTitle: category.title)
}

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

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

    if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionViewCell", for: indexPath) as? collectionViewCell{

        let testArray = testArrays[indexPath.row]
        cell.updateViews(testArray: testArray)
        return cell

    }

    return collectionViewCell()
}
}

collectionViewCell.swift

import UIKit

class collectionViewCell: UICollectionViewCell {

    @IBOutlet weak var cellImage: UIImageView!
    @IBOutlet weak var cellLabel: UILabel!


    func updateViews(dataarray: dataArrays) {
        cellImage.image = UIImage(named: dataarray.imageName)
        cellLabel.text = dataarray.title

    }
}

1 个答案:

答案 0 :(得分:0)

Cell本身未在Attributes Inspector中注册,我将其更改为-collectionViewCell,现在可以正常使用了。

我还有一个约束方面的问题,我没有完全阅读Output终端,对此虽然有点陌生,但是我能够通过输出进行故障排除。

这非常有帮助 https://developer.apple.com/videos/play/wwdc2015/219/