patchthecode/JTAppleCalendar

Selecting a large date range all at once shows a delay before loading app [Expected]. Suggestions wanted on how to improve this code.

Open

#1,201 opened on Dec 27, 2019

View on GitHub
 (12 comments) (0 reactions) (1 assignee)Swift (819 forks)batch import
help wanted

Repository metrics

Stars
 (7,660 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Version Number: 8.0.2

Description

Function "selectDates(from startDate: Date, to endDate: Date, triggerSelectionDelegate: Bool = true, keepSelectionIfMultiSelectionAllowed: Bool = false)" freeze main thread in my app when I pass too long period between startDate and endDate (about six and more months).

Steps To Reproduce

func calendar(_ calendar: JTACMonthView, didSelectDate date: Date, cell: JTACDayCell?, cellState: CellState, indexPath: IndexPath) {
               var selectedDates = calendar.selectedDates
               if let start = selectedDates.min(), let end = selectedDates.max() {
                              calendar.selectDates(from: start, to: end, triggerSelectionDelegate: false, keepSelectionIfMultiSelectionAllowed: true)
               }
}

Expected Behavior

Not freeze main thread in app for a few seconds

Contributor guide