在SwiftUI中,我们可以使用ObservableObject类来创建可观察的对象,它允许我们在视图结构中使用数据和状态。如果我们想要从ObservableObject类中调用视图结构中的方法,可以通过使用@EnvironmentObject属性包装器来实现。
下面是实现的步骤:
import SwiftUI
class DataModel: ObservableObject {
// 数据和状态
func doSomething() {
// 执行一些操作
}
}
import SwiftUI
@main
struct MyApp: App {
@StateObject var dataModel = DataModel()
var body: some Scene {
WindowGroup {
ContentView()
.environmentObject(dataModel)
}
}
}
import SwiftUI
struct ContentView: View {
@EnvironmentObject var dataModel: DataModel
var body: some View {
VStack {
Text("Hello, World!")
Button(action: {
dataModel.doSomething()
}) {
Text("Call Method")
}
}
}
}
这样,当点击"Call Method"按钮时,将会调用DataModel中的doSomething方法。
注意事项:
腾讯云相关产品推荐:无
领取专属 10元无门槛券
手把手带您无忧上云