UICollectionView не отображает ячейки и сбой приложения Xcode 10.0 - PullRequest
0 голосов
/ 12 октября 2018

Я новичок в Xcode, поэтому прошу прощения, если я упустил что-то очевидное, но я застрял на этом в течение нескольких дней.

Я создал UICollectionView - представление коллекции в раскадровке

Есть ограничения в месте 0 с каждой стороны представления, а также одно ограничение для метки выше.Изображение и метка в ячейке также имеют ограничения.

когда я запускаю приложение, я получаю это - Запуск приложения

Я не уверен, как это возможноучитывая ограничения.Но если я удаляю какие-либо ограничения, редактирую существующие или удаляю их полностью, я просто получаю исключение 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 голосов
/ 13 октября 2018

Сама ячейка не была зарегистрирована в инспекторе атрибутов, я изменил ее на - collectionViewCell, и теперь она работает.

У меня также есть проблема с ограничениями, я не полностью читал терминал вывода,будучи новичком в этом, все выглядело немного загадочно, но я смог устранить неполадки через вывод.

Это было очень полезно https://developer.apple.com/videos/play/wwdc2015/219/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...