Добрый день. В проекте имеется достаточно разветвленный граф сущностей. Т.е. есть корневая сущность, она содержит несколько списков других сущностей, которые, в свою очередь, также имеют ссылки на свои подсущности. Есть отдельный экран, в рамках которого я реализовал специальную логику, которая позволяет точечно менять отдельные значения в объектах на разных уровнях иерархии. Реализован следующий механизм изменения значений. В экране я загружаю корневую сущность по view, содержащему все нужное дерево иерархии. На экране есть поля, не связанные с атрибутами сущностей. При изменениях значений в этих полях я устанавливаю для конкретных объектов, полученных из этой корневой сущности новые значения. После чего все изменения сохраняются автоматом при сохранении формы.
Все работает так, как мне нужно. Но периодически стал сталкиваться с проблемой, что некоторые значения не сохраняются. Как-то отловить или четко воспроизвести эту ситуацию я не могу, но она периодически происходит. Есть предположение, что итоговое событие коммита данных всей формы в ряде случаев выполняется раньше, чем отрабатывают события изменения атрибутов конкретных объектов. В связи с чем эти значения и не сохраняются.
Есть ли возможность как-то отслеживать эту ситуацию? Т.е. на момент вызова события закрытия формы быть уверенным, что все ранее инициированные события по точечному изменению атрибутов разных объектов завершились? Может есть какие-то иные предложения или мысли?