Ребята привет! Не могу найти решение для своей проблемы. Сейчас я делаю приложение позволяющее делать записи на доступные даты. У меня есть array с днями недели, на которые можно записаться:
var masterSchedule = [WorkDay(weekDay: 1, startTime: 8, endTime: 16, busyHours: []), WorkDay(weekDay: 4, startTime: 8, endTime: 16, busyHours: [])]
Дни недели обозначены цифрой в значении weekDay.
Мне нужна функция которая смогла бы генерировать Date объекты по выбранным дням недели на месяц вперед.
Другими словами, если человек выбирает что он был бы готов принимать по понедельникам и вторникам, то функция должна вернуть понедельники и вторники на 4 недели вперед.
Код которым я попробовал решить проблему:
func getDates() {
for workDay in masterSchedule {
var components = DateComponents()
components.weekday = workDay.weekDay
components.year = 2021
components.month = 8
let date = Calendar.current.date(from: components) ?? Date()
availableDays.append(date)
}
}
Однако, он не работает и возвращает мне 2 одинаковых Date объекта:
2021-07-31 23:00:00 +0000
Буду очень рад любой помощи!
Спасибо!