I m using below video as a reference for JTAppleCalendar.
https://www.youtube.com/watch?v=CQNotydm58s&t=19s
I place the code in viewDidAppear
Event and I got below error msg:
Problem:
error msg 1: Thread: EXC_BAD_ACCESS(code=EXC_i386_GPFLT) for below.
override open func layoutSubviews() {
super.layoutSubviews()
if !delayedExecutionClosure.isEmpty, isCalendarLayoutLoaded {
executeDelayedTasks()
}
}
The Code is as follows:
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)
}
}
Error Msg 2, when placing in viewDidLoad Event:
error Msg :
Attempt to present LoginViewController on ( this project Name ) whose view is not in the window hierarchy!
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)
}
}
}
Please help.
Thanks