0

我使用下面的视频作为 JTAppleCalendar 的参考。

https://www.youtube.com/watch?v=CQNotydm58s&t=19s

我将代码放在viewDidAppear事件中,我得到以下错误消息:

问题:
错误消息 1:线程:EXC_BAD_ACCESS(code=EXC_i386_GPFLT) 如下。

override open func layoutSubviews() {
    super.layoutSubviews()
    if !delayedExecutionClosure.isEmpty, isCalendarLayoutLoaded {
        executeDelayedTasks()
    }
}

代码如下:

import UIKit
import JTAppleCalendar

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    DispatchQueue.global().asyncAfter(deadline: .now()) {
        let serverObjects = self.getServerEvents()
        for(date, event) in serverObjects {
            let stringDate = self.formatter.string(from: date)
            self.eventsFromTheServer[stringDate] = event
        }

        DispatchQueue.main.async{
            self.calendarView.reloadData()
        }
    }

    calendarView.minimumLineSpacing = 0
    calendarView.minimumInteritemSpacing = 0

    calendarView.scrollToDate(Date(), animateScroll: true)
    calendarView.selectDates([Date()])

    calendarView.visibleDates { dateSegment in
        self.setupCalendarView(dateSegment: dateSegment)
    }
}

放入 viewDidLoad 事件时出现错误消息 2:

错误消息:

尝试在视图不在窗口层次结构中的(此项目名称)上显示 LoginViewController!

override func viewDidLoad() {
        super.viewDidLoad()


// Do any additional setup after loading the view.


let defaults = UserDefaults.standard



if defaults.object(forKey: "SessionToken") == nil {


let VC = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController


self.dismiss(animated: false)

self.present(VC,animated:false)


}else {




 //-- have session token show below:
 DispatchQueue.global().asyncAfter(deadline: .now()) {

   let serverObjects = self.getServerEvents()

  for(date, event) in serverObjects {

  let stringDate = self.formatter.string(from: date)

     self.eventsFromTheServer[stringDate] = event

    }

 DispatchQueue.main.async{

      self.calendarView.reloadData()
 }

}


   calendarView.minimumLineSpacing = 0
   calendarView.minimumInteritemSpacing = 0

   calendarView.scrollToDate(Date(), animateScroll: true)
   calendarView.selectDates([Date()])


   calendarView.visibleDates { dateSegment in

  self.setupCalendarView(dateSegment: dateSegment)
   }

        }
    }

请帮忙。

谢谢

4

0 回答 0