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.

オープン

#1,201 opened on 2019/12/27

 (12 件のコメント) (0 件のリアクション) (1 人の担当者)Swift (819 件のフォーク)batch import
help wanted

Repository metrics

Stars
 (7,660 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

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

コントリビューターガイド