字典类型的计算属性的设置器

时间:2018-12-01 22:14:19

标签: 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 {

    }
}

如何编码设置器,以便它可以更新特定键的值?例如,在我的一个函数中,我需要更新特定键的响应值。

self. responses[key] = newResponse 

谢谢。

1 个答案:

答案 0 :(得分:0)

您不能使用计算属性执行此操作。因为每次您尝试获得responses时,实际上就得到self.calculateResponses(with: self.Range)的结果。

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

var responses = [String : Float]()

,然后在需要分配新值时使用此

responses[key] = newResponse

或者如果您需要分配所有新词典,请使用

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