繁体   English   中英

每次更改参数时都用新参数重新初始化类的实例

[英]Re-initialize instance of class with new argument every time when argument is changed

我如何重新初始化/实例化一个模型,该模型每次更改其值时都会采用一个参数? 该模型可以工作,但使用参数的旧值,但每次此参数更改时都需要重新初始化。

我找到了 didSet 和 willSet,但我不知道如何正确使用它

var test = countDownPicker.countDownDuration {
        willSet {
            self.model.workTimeInterval = PomodoroModel.TimeInterval(newValue)
        }
    }
    
    self.model = PomodoroModel(workTimeInterval: PomodoroModel.TimeInterval(test))

番茄模型字段

public class PomodoroModel {

public typealias TimeInterval = UInt

weak var delegate: PomodoroModelDelegate?

var workTimeInterval: TimeInterval
let breakTimeInterval: TimeInterval
let restTimeInterval: TimeInterval
let numberOfCycles: TimeInterval

init(workTimeInterval: TimeInterval = 1500,
     breakTimeInterval: TimeInterval = 300,
     restTimeInterval: TimeInterval = 700,
     numberOfCycles: TimeInterval = 4) {
    self.workTimeInterval = workTimeInterval
    self.breakTimeInterval = breakTimeInterval
    self.restTimeInterval = restTimeInterval
    self.numberOfCycles = numberOfCycles
    self.state = StateNeutral()
    self.state.model = self
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM