Добрый день! Сделал погодное приложение, которое получает данные из онлайна. После получения данных информация соответствующим образом меняется на экране, ибо переменная у меня @Published, а класс - ObservableObject. Однако, если приложение остаётся без присмотра на несколько часов на телефоне (висит в памяти на переднем плане), и потом включаешь экран и пытаешься проапдейтить данные, то запрос на получение данных успешен, а вот на экране они не обновляются почему-то. Может, кто-то сам сталкивался с подобным поведением приложений и может что-то подсказать? Заранее спасибо.
SwiftUI. Не апдейтит данные на экране после "засыпания" приложения
ODiN
#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)
}
}