Swift Xcode 8.3中的错误-“;对象已更改,但未发送适当的KVO通知;

Swift Xcode 8.3中的错误-“;对象已更改,但未发送适当的KVO通知;,swift,xcode,exception,binding,Swift,Xcode,Exception,Binding,我遇到了一个Xcode 8.3出现的问题(示例在版本8.2.1中工作正常) 我创建了一个NSTextField,并将值绑定连接到ViewController self.myDict.String 该按钮称为“更改” 当我启动应用程序时,文本字段中会显示字符串“Initial string”。 当我点击按钮时,我得到一个异常 无法为的观察者更新 中的键路径“myDict.String”,很可能是因为键“myDict”的值 已更改,但未发送适当的KVO通知。检查 exceptiontest.View

我遇到了一个Xcode 8.3出现的问题(示例在版本8.2.1中工作正常)

我创建了一个NSTextField,并将值绑定连接到ViewController self.myDict.String 该按钮称为“更改”

当我启动应用程序时,文本字段中会显示字符串“Initial string”。 当我点击按钮时,我得到一个异常

无法为的观察者更新 中的键路径“myDict.String”,很可能是因为键“myDict”的值 已更改,但未发送适当的KVO通知。检查 exceptiontest.ViewController类的KVO符合性

这个问题首先出现在最新的Xcode 8.3中,在旧版本上可以正常工作。 这可能是一个错误,还是我有某种设计错误

import Cocoa

class ViewController: NSViewController {

    dynamic var myDict = ["String":"Initial String"]

    override func viewDidLoad() {
        super.viewDidLoad()
    }


    @IBAction func change(_ sender: Any) {
        self.willChangeValue(forKey: "myDict")
        myDict["String"] = "New String"
        self.didChangeValue(forKey: "myDict")
    }

}

谢谢大家!

我也有同样的问题,还有
dynamic
Swift字典。。。也只有在Xcode 8.3I上,我才向苹果提交了一份bug报告。也提交了一个bug报告,并创建了一个相关的openradar:这在Xcode 8.3.1中仍然是一个问题。我还没有收到任何关于错误提交的回复。这个问题仍然存在于Xcode 8.3.2中-我还向苹果提交了一个错误,并得到了“重复”的回复。所以至少有人看到了这一点