从NSViewRepresentable / UIViewRepresentable的协调器类中访问EnvironmentObject可以通过以下步骤实现:
@EnvironmentObject var myEnvironment: MyEnvironment
func makeUIView(context: Context) -> UIView {
let myView = MyView()
myView.environmentObject = myEnvironment
return myView
}
func updateUIView(_ uiView: UIView, context: Context) {
uiView.someProperty = myEnvironment.someValue
}
这样,您就可以从NSViewRepresentable / UIViewRepresentable的协调器类中访问和使用EnvironmentObject了。
请注意,这里的示例代码是基于SwiftUI的环境。如果您使用的是UIKit,您需要将上述代码中的SwiftUI相关部分进行相应的修改。
领取专属 10元无门槛券
手把手带您无忧上云