Я пришёл от реакции-натива и новичка в Swift и SwiftUI, и мне было любопытно, как выполнить действие и обновить состояние на указанном экране c, когда приложение возвращается на передний план. Я хочу проверить состояние уведомлений («разрешено», «отказано» и т. Д. c.) И обновить пользовательский интерфейс.
Это пример кода. Вот представление, которое я хочу обновить:
struct Test: View {
@State var isNotificationsEnabled : Bool
var body : some View {
Toggle(isOn: self.isNotificationsEnabled) {
Text("Notifications")
}
}
}
До сих пор я читал, что вам нужно отредактировать func sceneWillEnterForeground(_ scene: UIScene)
внутри SceneDelegate.swift
, но как же мне оттуда обновить состояние моей Test
структуры? Я думаю, нам нужно какое-то глобальное состояние, но это всего лишь предположение.
Любой совет?