Мне нужно использовать наблюдателей свойств для обновления моих представлений при изменении объекта модели. Я думаю, что это отличный ненавязчивый способ сделать это, особенно потому, что представления, которые мне нужно обновить, не находятся в пределах досягаемости кода, выполняющего изменение.Наблюдатели за объектом (KVO): они все еще могут пойти?
Я просто добавил наблюдатель вроде этого:
someObject.addObserver(observer, forKeyPath:"name", options:NSKeyValueObservingOptions.New, context:nil)
А затем реализован этот метод внутри «наблюдателя»
override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
// Do my thing
}
Это IOS API наблюдатель чувствует немного устаревшее по какой-то причине. Поэтому мне было интересно: это все еще способ пойти в iOS? Или есть лучшие альтернативы в настоящее время для реализации такого типа наблюдаемого/наблюдаемого типа?
EDIT: Похоже, что наблюдатели за недвижимостью (KVO) даже не работают с Swift. Так что в любом случае мне нужен другой подход
Вам не нужны методы didSet и willSet, как описано здесь: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html –
Спасибо за ваш ответ ! Да, я знаю о didSet и willSet. Но это не решает это для меня, потому что мне не нужно обрабатывать изменение свойства внутри того же класса. Мне нужно обрабатывать его где-то еще целиком, внутри представления, которое имеет один и тот же экземпляр этого объекта. –
Хорошо, в этом случае я не уверен, что лучший образец. –