问题描述
如何在SwiftUI中处理关闭和终止应用程序事件?
View
{
...
}.onDisappear {
//My code
}
仅当我更改视图时工作,而不是在我关闭或终止应用程序时工作。
解决方法
您应该使用 .onReceive 修饰符并像这样订阅您想要的通知:
YourView()
.onReceive(NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification),perform: { output in
//Did enter background
})
您可以使用 UIApplicationDelegate 通知和 UIScene 通知
文档:
,您可以使用UIApplication.willTerminateNotification
:
NotificationCenter.default.addObserver(forName: UIApplication.willTerminateNotification,object: nil,queue: .main) { _ in
// terminating
}
此答案可能会更好地解释如何在SwiftUI中使用它: