swift - 将数据从 UIKit 传递到 SwiftUI(容器 UIHostingController)
问题描述
如何在UIViewController
和之间传递数据struct ContentView
?
我试过了,ObservableObject
但我无法获得最新的数据。
解决方案
要将数据从 a 传递UIViewController
到 an 内的 SwiftUI-Struct ,UIHostingController
您可以将 an 附加environmentObject
到 SwiftUI rootView
:
let vc = UIHostingController(rootView: YourContentView().environmentObject(yourEnvironmentObject))
当然,您需要创建一个 ObservableObject 并将其添加到您的 SwiftUI-Struct 中。
创建 ObservableObject:
class TypeOfEnvironmentObject: ObservableObject {
@Published var data = "myData"
}
将其添加到您的结构中:
@EnvironmentObject var yourEnvironmentObject: TypeOfEnvironmentObject
推荐阅读
- r - 在 R Shiny 中打印 R optim 函数输出
- jquery - 我可以用真实的信用卡测试贝宝沙盒吗?
- vba - Excel VBA 宏无法按预期工作
- ios - iOS Swift CollectionView 单元正在缩减
- f# - 具有至少一个元素的 F# 序列
- reactjs - Webpack 服务示例
- java - 编写时 XSSFWorkbook 使用 JDBC 在 Spring Boot 应用程序中创建损坏的 .xlsx 文档
- c# - 如何在 wpf 应用程序上使用 DictationRecognizer()?
- windows - 通过命令刷新 Internet 选项
- kibana - 如何在 timelion 图表中提供过滤选项卡?