는 방법에 대한 뷰를 사용하 모델, @Published
시설 래퍼에 대한 통지 모든 변경 사항의 모델 reset
기능 새 인스턴스를 만듭니다
struct Model {
var value1 = 0
var value2 = 0
var value3 = 0
}
class ViewModel : ObservableObject {
@Published var model = Model()
func reset() {
model = Model()
}
}
고 간단한 논리를 테스트에서 콘텐츠 보기
struct ContentView : View {
@StateObject var viewModel = ViewModel()
var body : some View {
VStack(spacing: 20) {
Text("Value 1: \(viewModel.model.value1)")
Text("Value 2: \(viewModel.model.value2)")
Text("Value 3: \(viewModel.model.value3)")
Divider()
Button ( "Delete", role: .destructive, action: viewModel.reset )
Button { viewModel.model.value1 += 1 } label: { Text("Increment value 1") }
Button { viewModel.model.value2 += 1 } label: { Text("Increment value 2") }
Button { viewModel.model.value3 += 1 } label: { Text("Increment value 3") }
}
}
}