У меня есть работающее решение, которое извлекает CalendarView событий, а затем использует дельта-синхронизацию для отслеживания изменений и поддержания списка в актуальном состоянии.

Однако я замечаю какое-то странное поведение с повторяющимися событиями. В частности, если я удалю одно вхождение повторяющегося события, следующая дельта-синхронизация будет иметь копию каждого другого вхождения, но ничего не будет для удаленного вхождения .

Когда я удаляю одноразовое событие, я правильно получаю запись из дельта-синхронизации с набором свойств @removed (как и ожидалось).

Без этой работы дельта-синхронизацию невозможно использовать, поскольку я никогда не узнаю, как удалить эти удаленные события из моего хранилища, и они будут продолжать отображаться. Можно ли с этим справиться? Спасибо!

2
RealCasually 3 Авг 2017 в 09:58

1 ответ

Лучший ответ

Когда приложение получает повторяющуюся серию в ответе deltasync, приложение должно удалить уже синхронизированные экземпляры серии и повторно синхронизировать экземпляры серии.

3
Julia Foran 3 Авг 2017 в 21:13
2
Спасибо! В этом есть смысл. Возможно, стоит включить это в документацию, так как это определенно поставило меня в тупик!
 – 
RealCasually
3 Авг 2017 в 21:29
Натыкаясь на этот комментарий, я не припомню, чтобы где-то об этом упоминалось явно, но я мог его пропустить. Это довольно важная деталь, которую разработчик должен изучить на собственном горьком опыте. Я понимаю почему это имеет смысл, но об этом нужно четко сообщить.
 – 
Cory Boyd
1 Июл 2020 в 22:08