← Каталог
Справочник по языку Swift — 7. Паттерны проектирования в Swift
Фрагмент из «Справочник по языку Swift»: 7. Паттерны проектирования в Swift.
class ValueHolder<T> {
private var _value: T
private var observers: [(T) -> Void] = []
init(_ value: T) {
self._value = value
}
var value: T {
didSet {
observers.forEach { $0(value) }
}
}
func observe(_ handler: @escaping (T) -> Void) {
observers.append(handler)
}
} class ValueHolder<T> {
private var _value: T
private var observers: [(T) -> Void] = []
init(_ value: T) {
self._value = value
}
var value: T {
didSet {
observers.forEach { $0(value) }
}
}
func observe(_ handler: @escaping (T) -> Void) {
observers.append(handler)
}
}