Я хочу написать приложение календаря. Это действительно повторяющиеся элементы, которые бросают рывок в работах по схеме БД. Я хотел бы получить некоторую информацию о том, как это организовать.
Что, если пользователь создает событие и вводит его, чтобы оно повторялось каждый понедельник, навсегда? Как я могу хранить все это в базе данных? Я не могу создавать бесконечные события. Должен ли я просто поместить туда таблицу, в которой хранится соответствующая информация, чтобы я мог рассчитать, куда идут все события? Если это так, мне придется рассчитывать их каждый раз, когда пользователь просматривает новую часть календаря. Что делать, если они пролистывают месяцы, но у них тонна повторяющихся предметов?
Кроме того, схема должна обрабатывать, когда пользователь щелкает элемент и говорит «Редактировать этот элемент в последовательности», а не все элементы в последовательности. Затем разделить один элемент последовательности?
Обновление 1
Я вообще не смотрел на iCal. Чтобы быть ясным, я думаю, что сохранение информации, которая позволяет вам вычислять повторяющиеся элементы, и выделение любого, отличного от последовательности, является отличным способом сохранить ее, чтобы иметь возможность передавать ее. Но я думаю, что в приложении это было бы слишком медленно, чтобы вычислить дату повсеместно.