MVVM
7047 ワード
モデル-ビュー-ビューモデルとは? SWIFTUIプロジェクトの第一選択の設計モード コードの細分化;MVCとは違います. Modelデータ&論理 UIとは独立した 画面表示 モデル- を接続してビュー間の複雑さを解決単純なアプリケーションでは、ViewModel を省略できます. Int処理 例
struct Game {
var cards: [Card]
func choose(var idx...) { ... }
Viewstruct ContentView: View {
var body: some View {
Text("Hello World!")
}
}
ViewModelimport SwiftUI
// View
struct ContentView: View {
@State var viewModel = ContentViewModel()
var body: some View {
VStack {
Text(viewModel.name)
Text(viewModel.age)
Button("Change Name") {
viewModel.changeName("Tom")
}
}
}
}
// ViewModel
class ContentViewModel: ObservableObject {
@Published private var alice = Person(name: "Alice", birthday: Date())
var name: String {
return alice.name
}
var age: String {
return "32"
}
// Intent
func changeName(_ name: String) {
alice.name = name
}
}
// Model
struct Person {
var name: String
var birthday: Date
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Reference
この問題について(MVVM), 我々は、より多くの情報をここで見つけました https://velog.io/@sionkim00/MVVMテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol