Swift Xcode 8.3中的错误-“;对象已更改,但未发送适当的KVO通知;
我遇到了一个Xcode 8.3出现的问题(示例在版本8.2.1中工作正常) 我创建了一个NSTextField,并将值绑定连接到ViewController self.myDict.String 该按钮称为“更改” 当我启动应用程序时,文本字段中会显示字符串“Initial string”。 当我点击按钮时,我得到一个异常 无法为的观察者更新 中的键路径“myDict.String”,很可能是因为键“myDict”的值 已更改,但未发送适当的KVO通知。检查 exceptiontest.ViewController类的KVO符合性 这个问题首先出现在最新的Xcode 8.3中,在旧版本上可以正常工作。 这可能是一个错误,还是我有某种设计错误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
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中-我还向苹果提交了一个错误,并得到了“重复”的回复。所以至少有人看到了这一点