У меня есть набор элементов класса Time
. Time
содержит 3 объекта: weekDay
(от 1 до 7, с воскресенья по субботу), openHour
(00h00 до 23h59) и closeHour
(00h00 до 23h59).Групповые дни в зависимости от времени работы
Я хочу, учитывая массив как это:
[{1, "10h00", "17h00"},
{2, "08h00", "18h00"},
{3, "08h00", "18h00"},
{4, "08h00", "18h00"},
{5, "08h00", "18h00"},
{6, "09h00", "17h00"},
{7, "09h00", "17h00"}]
написать список дней и часов, как это:
Вс: 10:00 - 17:00
пн - чт: 08.00 - 18-00
Пт - Сб: 09.00 - 17h00
я могу легко написать одну строку в день, но я не знаю, как группировать дней, которые имеют один и тот же период (равные открытые и закрытые часы). Как я могу правильно создать эти диапазоны?
Любой псевдокод мне поможет, но это будет реализовано в Objective-C. Если кто-то знает библиотеку или что-то, что облегчает задачу Objective-C, это тоже поможет.
Это очень хорошее начало, но в этом случае вы предполагаете, что массив 'openConfig' отсортирован, что я не могу гарантировать (я мог бы его отсортировать, конечно), но самое главное, он не может обрабатывать ситуации (Mon, Wed, Fri) имеют одинаковые часы работы, и (Tue, Thu) отличаются. Они не собирались. По-моему, я не уточнил в своем вопросе, но я могу взять это отсюда. Будет отмечен как правильный, если не появится лучший ответ. – Guilherme
Хм я вижу. Из вопроса я думал, что вы хотите группировать только дни, которые близки друг к другу. Если вы хотите сгруппировать их по-своему, лучше всего иметь NSDictionary для их группировки. –
Сортировка будет простой, если это единственная проблема. Использовать NSSortDescriptor * sortDescriptor = [[NSSortDescriptor alloc] initWithKey: @ "object.property" по возрастанию: YES]; –