Я нашел этот ответ, чтобы снова вернуть didset:
extension Binding {
/// Execute block when value is changed.
///
/// Example:
///
/// Slider(value: $amount.didSet { print($0) }, in: 0...10)
func didSet(execute: @escaping (Value) ->Void) -> Binding {
return Binding(
get: {
return self.wrappedValue
},
set: {
execute($0)
self.wrappedValue = $0
}
)
}
}
Теперь я попробовал то же самое с Опубликованным, но получил ошибку и не знаю, как исправить. Ошибка: тип выражения неоднозначен без контекста
@available(iOS 13.0, *)
extension Published {
/// Execute block when value is changed.
///
/// Example:
///
/// Slider(value: $amount.didSet { print($0) }, in: 0...10)
func didSet(execute: @escaping (Value) ->Void) -> Published<Any> {
return Published ( // error here : Type of expression is ambiguous without more contex`enter code here`
get: {
return self.wrappedValue
},
set: {
execute($0)
self.wrappedValue = $0
}
)
}
}