我使用下面的视频作为 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)
}
}
}
请帮忙。
谢谢