Swiftui didset不再工作-试图找到解决方法

Swiftui didset不再工作-试图找到解决方法,swiftui,Swiftui,我找到了这样一个答案,又一次让我的生活倒退了: extension Binding { /// Execute block when value is changed. /// /// Example: /// /// Slider(value: $amount.didSet { print($0) }, in: 0...10) func didSet(execute: @escaping (Value) ->Void) ->

我找到了这样一个答案,又一次让我的生活倒退了:

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
            }
        )
    }
}
现在我用Published尝试了同样的方法,但出现了错误,不知道如何修复。 错误是:表达式类型不明确,没有更多上下文

@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
        }
        )
    }
}
@可用(iOS 13.0,*)
已发布的扩展{
///值更改时执行块。
///
///例如:
///
///滑块(值:$amount.didSet{print($0)},单位:0…10)
func didSet(执行:@escaping(Value)->Void)->已发布{
return Published(//此处出错:表达式类型不明确,没有更多上下文`在此处输入代码`
获取:{
返回self.wrappedValue
},
设置:{
执行($0)
self.wrappedValue=$0
}
)
}
}
它可以工作,但实际上只适用于“只设置了”。。。即。。直接分配后

请考虑下面的例子。使用Xcode 11.4/iOS 13.4进行测试

structfooview:View{
@ObservedObject var test=Foo()
var body:一些观点{
VStack{

按钮(“测试分配”){self.Test.foo=10}/
Published
没有这样的构造函数。