SwiftUI:从 AppDelegate 访问 @EnvironmentObject

标签 swift swiftui xcode11 ios13

我想使用 applicationWillTerminate 函数在应用关闭前保存一些用户默认设置。我要保存的数据存储在 EnvironmentObject 中。

如何从 AppDelegate 类访问它?

最佳答案

@EnvironmentObject 不需要直接在您的 SwiftUI 对象中实例化;相反,它可以分配到其他地方(例如,您的 UISceneDelegate),然后使用 .environment(...) 函数传递。

您也可以在您的 AppDelegate 上分配它,然后将该对象传递给您在 UISceneDelegate.scene(_:willConectTo:options:) 方法中的 View 。

Paul Hudson 在 https://www.hackingwithswift.com/quick-start/swiftui/how-to-use-environmentobject-to-share-data-between-views 上对所有这些都有很好的描述

关于SwiftUI:从 AppDelegate 访问 @EnvironmentObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693003/

相关文章:

swiftui - Clipped 并不是在 SwiftUI 中实际剪辑图像

warnings - 我们如何解决损失精度的转换问题? (Xcode 11.2)

arrays - 在 Swift 3 中扩展类型化数组(基本类型如 Bool)?

ios - 一旦该节点在 ARCamera 中不可见,获取指向 SCNNode 的方向箭头

swiftui-list - SwiftUI 列表在 @ObservedObject 更新时卡住

swift - 比较两个 UIColor DynamicProvider (iOS13) 返回 False

swift - 使字典值作为扩展名成为非可选

ios - 在将用户连接到服务器之前,如何等待 Socket.IO 建立套接字连接?

swift - 为什么它说 "Trailing closure passed to parameter of type ' Int' 不接受闭包”?

SwiftUI:调整弹出窗口的大小以适合