Setter 用于字典类型的计算 属性
Setter for computed property of type Dictionary
我是 swift 的新手,我正在使用 swift 4.0。我有一个 class 和计算 属性 类型的字典。我为此 属性 使用 getter 和 setter。下面是我的 属性 片段。
var responses:[String:Float] {
get {
let newresponses = self.calculateResponses(with: self.Range)
return newresponses
}
set {
}
}
如何编写 setter 代码以便更新特定键的值?例如,在我的一个函数中,我需要更新特定键的响应值。
self. responses[key] = newResponse
谢谢。
您不能使用计算 属性 执行此操作。因为每次你试图获得 responses
你实际上得到的结果是 self.calculateResponses(with: self.Range)
.
要解决这个问题,只需创建空字典
var responses = [String : Float]()
然后当你需要分配新值时使用这个
responses[key] = newResponse
或者如果您需要分配所有新词典,请使用此
responses = self.calculateResponses(with: self.Range)
我是 swift 的新手,我正在使用 swift 4.0。我有一个 class 和计算 属性 类型的字典。我为此 属性 使用 getter 和 setter。下面是我的 属性 片段。
var responses:[String:Float] {
get {
let newresponses = self.calculateResponses(with: self.Range)
return newresponses
}
set {
}
}
如何编写 setter 代码以便更新特定键的值?例如,在我的一个函数中,我需要更新特定键的响应值。
self. responses[key] = newResponse
谢谢。
您不能使用计算 属性 执行此操作。因为每次你试图获得 responses
你实际上得到的结果是 self.calculateResponses(with: self.Range)
.
要解决这个问题,只需创建空字典
var responses = [String : Float]()
然后当你需要分配新值时使用这个
responses[key] = newResponse
或者如果您需要分配所有新词典,请使用此
responses = self.calculateResponses(with: self.Range)