当我的字典添加新条目时,我希望调用委托方法。对于单个值属性,didSet(newValue)
观察器可以正常工作。但是对于我的字典来说,似乎下面的newUser参数返回整个字典。
var userIdKeyedDict:Dictionary<String, User> = [:] {
didSet(newUser) {
println("Updating userIdKeyedDict")
self.delegate.didAddUser(newUser)
}
willSet(newUser) {
println("Will set \(newUser)")
}
willSet(newUser)
的输出结果为:
将要设置 [3E33BD4D-6F48-47FC-8612-565250126E51: 用户:userId:Optional("3E33BD4D-6F48-47FC-8612-565250126E51"),listenerUUID:Optional("77D01D6F-D017-EF9E-55A9-78570E455C51"),beaconUUID:nil]
随着更多的项目被添加,newUser
简单地包含整个字典。
如何仅获取新添加的项目?