我是Swift的新手,正在使用Swift 4.0。我有一个具有Dictionary类型的计算属性的类。我正在为此属性使用getter和setter。以下是我的财产摘要。
var responses:[String:Float] {
get {
let newresponses = self.calculateResponses(with: self.Range)
return newresponses
}
set {
}
}
如何编码设置器,以便它可以更新特定键的值?例如,在我的一个函数中,我需要更新特定键的响应值。
self. responses[key] = newResponse
谢谢。
答案 0 :(得分:0)
您不能使用计算属性执行此操作。因为每次您尝试获得responses
时,实际上就得到self.calculateResponses(with: self.Range)
的结果。
要解决此问题,只需创建一个空字典
var responses = [String : Float]()
,然后在需要分配新值时使用此
responses[key] = newResponse
或者如果您需要分配所有新词典,请使用
responses = self.calculateResponses(with: self.Range)