Ячейки CollectionView не отображаются на экране - PullRequest
1 голос
/ 30 июня 2019

Это второй раз, когда я имел дело с представлениями коллекции, и я не могу заставить свои ячейки отображаться на экране. Я пробовал десятки разных способов, таких как регистрация своих ячеек, но я все еще не могу заставить свои ячейки отображаться, и я получаю ошибку: «Поток 1: сигнал SIGABRT» Я имел дело с такой ошибкой раньше, но на этот раз я не мог понять точно, что я сделал не так. Может кто-нибудь, пожалуйста, помогите мне? Любые ответы будут с благодарностью.

Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Не удалось загрузить NIB в комплекте:« NSBundle

»

Вот код контроллера моего представления, если он вам нужен:

import Foundation
import UIKit
class HomeViewController: UIViewController{

override func viewDidLoad(){
    super.viewDidLoad()



}

var eventTitle = ""
var dueDate = ""
var datePosted = ""
var eventDescription = ""

@IBOutlet weak var viewAllThingsToDo: UIButton!

@IBOutlet weak var viewAllGetItDone: UIButton!

@IBAction func viewAllThingsToDoAction(_ sender: Any) {

    func TtdButtonPressed (dueDate: Date, title: String, datePosted: Date, Description: String?) {


    }

}
@IBOutlet weak var GIDCollectionView: ThingsToDoCollectionView!

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "homeToDetailedEvents" {
        let destVc = segue.destination as! DetailedEventsViewController
        destVc.eventTitle = eventTitle
        destVc.dueDate = dueDate
        destVc.datePosted = datePosted
        destVc.eventDescription = eventDescription
    }
}
@IBAction func viewAllGetItDoneAction(_ sender: Any) {

}







}


extension HomeViewController: UICollectionViewDataSource {


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

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


    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ThingsToDoCollectionViewCell", for: indexPath)

    if let myCVC = cell as? ThingsToDoCollectionViewCell {

        if myCVC.GIDTitle != nil {
            myCVC.GIDTitle?.text = "Title"
            print("1Contains a value!")
        } else {
            print("1Doesn’t contain a value.")

        }

        if myCVC.GIDDueDate != nil {
            myCVC.GIDDueDate?.text = "June 17"
            print("2Contains a value!")
        } else {
            print("2Doesn’t contain a value.")

        }
        if myCVC.GIDThumbnail != nil {
            myCVC.GIDThumbnail?.image = UIImage(named: "IMG_7070")
            print("3Contains a value!")
        } else {
            print("3Doesn’t contain a value.")
        }

    }
    return cell
}

func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 1
}

}

extension HomeViewController: UICollectionViewDelegate {
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    print(indexPath)
}
}

А вот код для моей ячейки просмотра коллекции:

import UIKit

class ThingsToDoCollectionViewCell: UICollectionViewCell {

@IBOutlet weak var GIDThumbnail: UIImageView!
@IBOutlet weak var GIDTitle: UILabel!
@IBOutlet weak var GIDDueDate: UILabel!

override var isSelected: Bool {
    didSet {
        layer.borderWidth = isSelected ? 1.0 : 0.0
    }
}

}

1 Ответ

0 голосов
/ 30 июня 2019

Возможно collectionview.delegate = self и collectionview.dataSource = self в viewDidLoad

...