【问题标题】:Setter for computed property of type DictionaryDictionary 类型的计算属性的设置器
【发布时间】:2019-05-03 16:05:09
【问题描述】:

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

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

    }
}

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

self. responses[key] = newResponse 

谢谢。

【问题讨论】:

    标签: swift dictionary getter-setter computed-properties


    【解决方案1】:

    你不能用计算属性来做到这一点。因为每次您尝试获取 responses 时,实际上都会得到 self.calculateResponses(with: self.Range) 的结果。

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

    var responses = [String : Float]()
    

    然后当你需要分配新值时使用这个

    responses[key] = newResponse
    

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-09
      • 2021-12-17
      • 1970-01-01
      • 2020-06-06
      • 2014-11-04
      • 2020-08-06
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多