2015-04-29 3 views
2

После нескольких часов работы с NSCalendar, NSDate и NSDateComponents мне пришло в голову, что Apple не создала перечисление для будних дней.Перечисление отсутствует в Cocoa Touch Календарные классы?

По всей видимости, судя по рамке, весь мир использует семидневный подход к рабочим дням недели. И эти недели имеют имена, которые являются универсальными по смыслу, т.е. переведенное воскресенье на, например, венгерское - это другое слово (Vasarnap), но это СРЕДСТВО В воскресенье. Я говорю на венгерском + 4 других языках, кроме английского, так что я точно знаю.

Если мы извлекаем NSCalendarUnitWeekDay компонент, можно быстро узнать, что она возвращает NSInteger и воскресенье представлено 1, понедельник 2, и т.д ..

Это очень легко расширить NSCalendar обеспечить такое перечисление и я уже делал это на самом деле и до сих пор оказывается практичным. Но мне интересно, может быть, я что-то упустил, и есть причина для исключения такого перечисления.

Есть ли?

+0

Почему необходимо перечисление? Каковы различия в первый день недели? Как насчет календарей, таких как еврейский календарь, где начинается день на закате? Концептуально, календарь не должен иметь 7-дневных недель. Я думал о создании 14-дневного недельного календаря с целью установки двухнедельных напоминаний. Просто некоторые мысли .... –

+0

Потому что, когда вы проверяете свойство NSDateComponents.weekday, оно возвращает целое число, и вы не знаете, что означает это число. То же самое касается свойства firstDayOfTheWeek. –

ответ

0

Нет. Это кажется странным, но единственная причина, по которой я могу думать о том, чтобы не включать перечисление, заключается в том, что из-за локализации значение «значения» 1, 2, 3 и т. Д. Изменилось бы и определяя перечисление для григорианского календаря, это приводят к предполагаемому предположению, что воскресенье = 1, которое только исправить некоторые календари.