gpt4 book ai didi

swiftui - 将 UIWindow.rootView 转换为具有环境变量的 UIHostingController

转载 作者:行者123 更新时间:2023-12-05 06:51:16 26 4
gpt4 key购买 nike

将 UIWindow.rootView 转换为托管 Controller ,例如:

window?.rootViewController as? UIHostingController<MainTabView>

工作正常,除非它有 environmentObject

作为我的MainTabView已用 .environmentObject 初始化,我无法将其转换为 UIHostingController<MainTabView> .

当我尝试打印 rootView 时的类型,Xcode 告诉:

<_TtGC7SwiftUI19UIHostingControllerGVS_15ModifiedContentGS1_V10Panparella11MainTabViewGVS_30_EnvironmentKeyWritingModifierGSqCS2_11GroupsStore___GS4_GSqCS2_18GroupsPresentation____: 0x7fd8afe5da40>

我想是:

UIHostingController<ModifiedContent<MainTabView, _EnvironmentKeyWritingModifier<GroupsStore, GroupsPresentation>>>

但我无法接通 _EnvironmentKeyWritingModifier .

有人有想法吗?

最佳答案

如果只有一个 EnvironmentObject,则以下类型转换可以编译并正常工作。

UIHostingController<ModifiedContent<MainTabView, _EnvironmentKeyWritingModifier<Optional<GroupStore>>>>

即使这不是问题的完整答案(因为有多个 EnvironmentObject),我还是将其张贴在这里以防它可能对使用单个 EnvironmentObject 的人有所帮助。

关于swiftui - 将 UIWindow.rootView 转换为具有环境变量的 UIHostingController<View>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66196340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com