Swift KVO
21 января 2019, 23:25
Модель
import Foundation @objc class Card: NSObject { @objc dynamic var life: Int = 0 @objc dynamic var atack: Int = 0 @objc dynamic var defense: Int = 0 }
Задаём переменную для invalidate()
var cardObserver: NSKeyValueObservation?
Подписываемся на изменения и вешаем обработчик
let card = Card() cardObserver = card.observe(\Card.life, options: .old, changeHandler: { card, change in print("Changed life value \(card.life) -> ", change.oldValue ?? -1) })
Соответсвенно когда мы меняем значение переменной `life` то вызывается наш обработчик
card.life = 12 card.life = 1 card.life = 34
Твитнуть
Поделиться
Поделиться
Популярное