swift - 将数据从 UIKit 传递到 SwiftUI(容器 UIHostingController)

标签 swift swiftui

如何在UIViewController之间传递数据和 struct ContentView ?

我试过 ObservableObject但我无法获得最新的数据。

最佳答案

UIViewController 传递数据到 UIHostingController 中的 SwiftUI-Struct您可以附上 environmentObject到 SwiftUI rootView :

let vc = UIHostingController(rootView: YourContentView().environmentObject(yourEnvironmentObject))

当然,您需要创建一个 ObservableObject 并将其添加到您的 SwiftUI-Struct。

创建可观察对象:
class TypeOfEnvironmentObject: ObservableObject {
    @Published var data = "myData"
}

将其添加到您的结构中:
@EnvironmentObject var yourEnvironmentObject: TypeOfEnvironmentObject

关于swift - 将数据从 UIKit 传递到 SwiftUI(容器 UIHostingController),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61732887/

相关文章:

ios - 如何在 Swift 中将一个 View 复制到另一个 View

ios - 在 Swift 2.0 中隐藏主页指示器

ios - 如何在 SwiftUI 中制作水平列表?

ios - SwiftUI 动画 : How to stagger repeating animation with delay

swift - 类型 '()' 不能符合 'View' ;只有 struct/enum/class 类型可以符合使用 swift ui 调用调用函数的协议(protocol)

ios - 尝试将字符串转换为 iOS 13 的小数

ios - 在 Swift 中创建线程安全数组

ios - Alamofire 缓存问题

ios - 从 Ionic 迁移到 Native (IOS)

SwiftUI:强制更新