Swift - Какой тип выбрать для хранения значения "месяц-год"?
Еще не определен способ хранения данных - JSON или в БД REALM. Одно из значений, по которому в том числе должна будет выполняться сортировка данных - это "месяц + год". Остальные данные просто привязываются к данному периоду.
Например: Ноябрь 2020, Декабрь 2020, Январь 2021 и т.п.
Имеется в виду целый месяц, а не первое и не последнее число месяца какого-то года.
Нужно, во-первых, чтобы это в интерфейсе было удобочитаемо пользователями, и, во-вторых, чтобы можно было кое-что делать по данному полю:
- сортировка
- поиск
- определять относительность к текущей или какой-то иной дате (желательно)
- ...
Ответы (1 шт):
Это однозначно нужно делать через «типовую» дату struct Date или class NSDate : NSObject, но игнорировать в дате число (и время, если таковое там будет). Форматом приводить к нужному виду на экране, зато работает этот тип «из коробки»: все операции на сравнение, увеличение/уменьшение и прочие.
Основная сложность сочинять свой «формат» в том, что ты хранишь то ли месяц/год и тогда сравнение работать не будет, то ли год/месяц, а это не по-русски, потом ещё и преобразовывать в вариант месяц/год. По накладным расходам хранение строки не «дешевле» типовой структуры.