问题描述
我有一个 UIHostingController,它托管一个名为 CatalogView 的 SwiftUI 视图。 当显示它时,附加了一个环境对象,所以基本上从 UIKit 它显示如下:
let rootCatalogView = CatalogView()
let appState = AppState.get()
let catalogView = UIHostingController(rootView: rootCatalogView.environmentObject(appState))
navigationController.pushViewController(catalogView,animated: true)
现在稍后我需要检查这个 UIHostingController 是否在 navigationController.viewControllers 的列表中
type(of:) 显示以下内容,哪种有意义:
UIHostingController<ModifiedContent<CatalogView,_EnvironmentKeyWritingModifier<Optional<AppState>>>>
像 vc.self 是 UIHostingController.Type 或 vc.self 是 UIHostingController.Type 之类的东西都返回 false(vc 是 navigationController.viewControllers 的一个元素
以下显然有效,它返回真,但 UIHostingController 初始化的任何变化都会改变它的类型
vc.isKind(of: UIHostingController<ModifiedContent<CatalogView,_EnvironmentKeyWritingModifier<Optional<StoreManager>>>>.self)
如何检查视图控制器是否为 UIHostingController 类型? 或者至少我如何将控制器投射到 UIHostingController 以便我可以检查它的根视图?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)