相关疑难解决方法(0)

SwiftUI 中的 ObservedObject 和 StateObject 有什么区别

如果我ObservableObject在 SwiftUI 中有一个,我可以将其称为@ObservedObject

class ViewModel: ObservableObject {
    @Published var someText = "Hello World!"
}

struct ContentView: View {
    @ObservedObject var viewModel = ViewModel()
    
    var body: some View {
        Text(viewModel.someText)
    }
}
Run Code Online (Sandbox Code Playgroud)

或者作为@StateObject

class ViewModel: ObservableObject {
    @Published var someText = "Hello World!"
}

struct ContentView: View {
    @StateObject var viewModel = ViewModel()

    var body: some View {
        Text(viewModel.someText)
    }
}
Run Code Online (Sandbox Code Playgroud)

但两者之间的实际区别是什么?有没有一种情况比另一种更好,或者它们是两种完全不同的东西?

ios swift swiftui

56
推荐指数
5
解决办法
9285
查看次数

标签 统计

ios ×1

swift ×1

swiftui ×1