
[英]Creating a new instance of a class with a protocol-conforming class as an argument
[英]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.