モデルクラス
DialogModel.swift
import Foundation
public enum DialogType {
case none
case loading
}
class DialogModel: NSObject, ObservableObject {
@Published var dialogType: DialogType = .none
}
SwiftUI ContentView
ContentView.swift
import SwiftUI
struct ContentView: View {
@EnvironmentObject var dialogModel: DialogModel
var body: some View {
プレビューするときにEnvironmentObject内の変数の値を設定する方法
ContentView.swift
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
Group {
ContentView().environmentObject({ () -> DialogModel in
let envObj = DialogModel()
envObj.dialogType = .none
return envObj
}() )
ContentView().environmentObject({ () -> DialogModel in
let envObj = DialogModel()
envObj.dialogType = .loading
return envObj
}() )
}
}
}
参考