JTCalendar: UILabel не обновляется после вызова метода из другого ViewController

Я пытаюсь сделать календарь с ColllectionView и CardView, который отображается постоянно, но может быть расширен пользователем, чтобы увидеть встречи на определенный день. Похоже, это рухнуло и расширилось. Проблема, которую я не могу решить, состоит в том, что когда я нажимаю дату на CollectionView, я хочу, чтобы метка на CardView обновляла и отображала выбранную дату. Проблема в том, что когда я пытаюсь установить новую дату, вызывая метод класса CardView из didSelectItemAt в CollectionView, метка не изменяется. Я думаю, что это связано с тем фактом, что CardView загружается один раз, но никогда не перезагружает текст метки, потому что в моем коде фактическая строка с выбранной датой достигает своего конечного пункта назначения, когда передается методу в CardView.

Метод CollectionView didSelectItemAt:

cardView = CardViewController()

  func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let cell=collectionView.cellForItem(at: indexPath)
    cell?.backgroundColor=Colors.darkRed
    let lbl = cell?.subviews[1] as! UILabel
    lbl.textColor=UIColor.white

    var month = String(currentMonthIndex)
    let year = currentYear
    let dateString = String(year) + "/" + month + "/" + lbl.text!
    let date = dateString.date    //.date is a String extension to turn it to type Date
    cardView.updateCardData(SelecctionDate: date!)
}

Метод CardView updateCardData

func updateCardData(SelecctionDate: Date) {
        self.dateLabel?.text = self.getDate(dateAsISO: SelecctionDate)
        self.viewWillAppear(true)
}

Если вам, ребята, нужна дополнительная информация или код, я готов поделиться ею, и извините, если мой английский не лучший, это не мой родной язык: p

Спасибо!

0 ответов

Другие вопросы по тегам