最佳答案
如果我在 SwiftUI 中有一个 ObservableObject
,我可以把它称为 @ObservedObject
:
class ViewModel: ObservableObject {
@Published var someText = "Hello World!"
}
struct ContentView: View {
@ObservedObject var viewModel = ViewModel()
var body: some View {
Text(viewModel.someText)
}
}
或者作为 @StateObject
:
class ViewModel: ObservableObject {
@Published var someText = "Hello World!"
}
struct ContentView: View {
@StateObject var viewModel = ViewModel()
var body: some View {
Text(viewModel.someText)
}
}
但是这两者之间的实际区别是什么呢?有没有一个比另一个好的情况,或者是两个完全不同的情况?