Быстрый. Календарь. Очень короткие будни начинаются с понедельника

#ios #swift #calendar

#iOS #быстрый #Календарь

Вопрос:

Я хотел бы отображать очень короткие символы будних дней, начиная с понедельника.

Когда я делаю это на детской площадке:

 var calendar = Calendar.current print(calendar.veryShortWeekdaySymbols)  

Результат таков: ["S", "M", "T", "W", "T", "F", "S"]

Я также попытался изменить день первой недели:

 var calendar = Calendar.current calendar.firstWeekday = 2 print(calendar.veryShortWeekdaySymbols)  

Но результат тот же самый

Комментарии:

1. Я думаю, что он предназначен для того, чтобы вы всегда получали индекс ДоУ, начиная с воскресенья, чтобы вы могли легко его индексировать. Не так уж сложно повернуть массив один раз, не так ли?

Ответ №1:

Попробуйте это решение. надеюсь, это сработает для вас.

 let firstWeekday = 2 // -gt; Monday  var symbols = calendar.veryShortWeekdaySymbols symbols = Array(symbols[firstWeekday-1..lt;symbols.count])   symbols[0..lt;firstWeekday-1]  

Результат -gt; [«Пн», «Вт», «Ср», «Чт», «Пт», «Сб», «Вс»]

Ответ №2:

Вы можете просто удалить первый элемент и добавить его:

 var weekdaySymbols = Calendar(identifier: .iso8601).veryShortWeekdaySymbols weekdaySymbols.append(weekdaySymbols.remove(at: weekdaySymbols.startIndex)) weekdaySymbols // ["M", "T", "W", "T", "F", "S", "S"]