Когда значение @IBInspectable устанавливается?

У меня есть несколько свойств, заданных как @IBInspectable, поэтому я могу редактировать их в Interface Builder, но во время выполнения, когда эти свойства установлены?

Я попытался использовать их во время init, но они еще не были установлены.

Это то, что я пытаюсь сделать. Но я даже не могу перенести инициализацию таймера на инициализацию TimerView, потому что @IBInspectable vars не установлены к моменту вызова init.

class TimerView {
    var timer:Timer? = Timer(timeInterval: time1, alertTimeInterval: time2)
    @IBInspectable var time1: Double = 0
    @IBInspectable var time: Double = 0
}

Ответ 1

Как и все, что установлено в IB, оно будет установлено при загрузке xib файла. Вы хотите установить ваш таймер в awakeFromNib()

override func awakeFromNib() {
    super.awakeFromNib()
    timer = //IBInspectable elements now set
}