SwiftUI. Не апдейтит данные на экране после "засыпания" приложения


#1

Добрый день! Сделал погодное приложение, которое получает данные из онлайна. После получения данных информация соответствующим образом меняется на экране, ибо переменная у меня @Published, а класс - ObservableObject. Однако, если приложение остаётся без присмотра на несколько часов на телефоне (висит в памяти на переднем плане), и потом включаешь экран и пытаешься проапдейтить данные, то запрос на получение данных успешен, а вот на экране они не обновляются почему-то. Может, кто-то сам сталкивался с подобным поведением приложений и может что-то подсказать? Заранее спасибо.


#2

Используйте модификатор .id() для вью, которые необходимо принудительно обновить. При переустановке айди обновляется вью с айди и все дочерние вью
пример

struct Example: View {
     private var data: Data? {
         didSet {
             refreshedID = UUID()
         }
     }

    @State private var refreshedID = UUID()
    
    var body: some View {
        VStack {
            MyView1()
            MyView2().id(refreshedID)
        }
    }

#3

Благодарю! Вроде заработало.