Swift 类型字典的计算属性的Setter
我是swift新手,正在使用swift 4.0。我有一个计算属性为Dictionary类型的类。我正在为此属性使用getter和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 { } } 我如何使用
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)