SwiftUI 发布值上的 toggle() 函数停止触发 didSet Swift 5.2

SwiftUI toggle() function on Published values stopped triggering didSet with Swift 5.2

我刚刚将 Xcode 从 11.3 更新到 11.4,我用 SwiftUI 编写的项目开始出现不同的行为。我曾经为布尔值调用 toggle() 函数,它曾经触发 didSet 属性 观察者,但是,它不再工作了。

假设我们有一个名为 isSettingOnState 属性。我曾经这样称呼:

isSettingOn.toggle()

这触发了 属性 的 didSet 观察者。现在,只有我这样称呼:

isSettingOn = true

正在运行。

我的项目都是基于这种行为,现在这种变化基本上破坏了一切。有谁知道我在这里是否真的做错了什么?

编辑:

添加了演示代码:

struct ContentView: View {

    @State var isSettingOn: Bool = true {
        didSet {
            print("didSet isSettingOn")
        }
    }

    var body: some View {
        Button(action: {
            self.isSettingOn = true // will trigger didSet
            self.isSettingOn.toggle() // won't trigger didSet
        }) {
            Text("Toggle isSettingOn")
        }
    }
}

这是 Xcode 11.4 and 11.4.1 中的一个错误,已在 Xcode 11.5 (Beta) 中用 Swift 5.2.4 修复。