EnviromentObject
를 이용해서 전달 가능observable
protocol 사용해서 class 생성@Published
붙이기@Published
가 붙은 프로퍼티의 값이 변경될때 마다 Observable class 를 통해 알아차림class Contact: ObservableObject {
@Published var name: String
@Published var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func haveBirthday() -> Int {
age += 1
return age
}
}
let john = Contact(name: "John Appleseed", age: 24)
cancellable = john.objectWillChange
.sink { _ in
print("\(john.age) will change")
}
print(john.haveBirthday())