Swift 类型字典的计算属性的Setter

Swift 类型字典的计算属性的Setter,swift,dictionary,getter-setter,computed-properties,Swift,Dictionary,Getter Setter,Computed Properties,我是swift新手,正在使用swift 4.0。我有一个计算属性为Dictionary类型的类。我正在为此属性使用getter和setter。下面是我的属性片段 var responses:[String:Float] { get { let newresponses = self.calculateResponses(with: self.Range) return newresponses } set { } } 我如何使用

我是swift新手,正在使用swift 4.0。我有一个计算属性为Dictionary类型的类。我正在为此属性使用getter和setter。下面是我的属性片段

var responses:[String:Float] {
    get {
        let newresponses = self.calculateResponses(with: self.Range)
        return newresponses
    }
    set {

    }
}
我如何使用代码设置器来更新特定键的值?例如,在我的一个func中,我需要更新特定键响应的值

self. responses[key] = newResponse 

谢谢。

您不能使用computed属性执行此操作。因为每次您试图获得
响应时
实际上都得到了
self.calculateResponses(带:self.Range)
的结果

要解决这个问题,只需创建空字典

var responses = [String : Float]()
然后,当您需要分配新值时,使用此

responses[key] = newResponse
或者,如果您需要分配所有新字典,请使用此

responses = self.calculateResponses(with: self.Range)