#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"]