HistoryObserver: реакция на persistent history ‼️

🧾 Хватит опрашивать историю изменений. HistoryObserver — Observable-класс, который следит за persistent history контейнера и увеличивает счётчик, когда приземляются новые транзакции. Включая те, что пришли из виджетов, расширений и синхронизации. Складывается с Observations { observer.eventCounter } в асинхронную последовательность, а fetchHistory() рядом отдаёт ровно новые изменения. Получается движок синхронизации без поллинга.

⚠️ Ловушка, которая рождает бесконечные циклы: пустые фильтры observedModels и authors матчат всё. Если не выставить authors, ваш собственный импорт с сервера будет считаться новой транзакцией, вы отправите её обратно — и так по кругу. Ставьте автора и отсекайте свои же записи. Для обновления UI это не инструмент — там @Query или ResultsObserver. И класс новый, в SDK 26 его нет.

#SwiftData #iOSDev #iOS27 #CloudKit #WWDC26

HistoryObserver: реакция на persistent history ‼️ | Сетка — социальная сеть от hh.ru