Мне знакомо значение свойства обозревателя и как его использовать.
Однако, что я действительно не понимаю, так это когда использовать каждый из них.
Мне кажется, что это не имеет значения ..
Если я использую didset, я могу использовать oldValue или новое значение, используя само свойство ... и если я использую willset, я могу использовать newValue или старое значение, используя само свойство.
Итак ... oldValue в didset это как само свойство в willset, а newValue в willSet это как само свойство в didset:
var propObserve = 1 {
willSet {
print("my previous value was \(propObserve) and my future value will be \(newValue)")
}
didSet {
print("my previous value was \(oldValue) and my future value will be \(propObserve)")
}
}
propObserve = 2
Я получу одинаковый отпечаток с каждого из них.
Я понимаю, что willSet выполняется раньше, а didSet выполняется после установки свойства с новым значением, но, тем не менее, я могу использовать новые и старые значения в обоих случаях (в willSet, а также в didSet)
Q1: Когда предпочтительнее использовать один над другим?
Q2: Можете ли вы дать мне конкретный пример такого использования?
Заранее спасибо