KVO - наблюдайте () changeHandler не обеспечивает обратный вызов для определенных свойств - PullRequest
0 голосов
/ 19 февраля 2020

Я работаю над реализацией перетаскивания для UICollectionView и пытаюсь наблюдать его свойство ' hasActiveDrag ', чтобы обрабатывать соответствующие пассивные изменения, когда перетаскивание заканчивается / завершается неудачей.

Не уверен, что мне не хватает чего-то тривиального, но это конкретное свойство (и несколько связанных свойств) не возвращает никаких обратных вызовов в changeHandler, несмотря на изменения значения.

Вот что я ' Я пытаюсь сделать:

dragSessionObserver = self.myCollectionView.observe(\.hasActiveDrag, options: [.new, .initial], changeHandler: { (cv, change) in
    //blah blah blah
})

И когда я пытаюсь сделать это с другими свойствами, он работает как задумано ...

PS

Зачем наблюдать, когда у меня есть положения о делегате?

Делегат не вызывается при сбое / отмене сеанса. Единственный известный мне способ захвата неудачных сеансов - это функция dragStateDidChange ячейки, которая также вызывается во время повторного использования и перезагрузки. Следовательно, я не могу полагаться исключительно на него только в случае неудачных обратных вызовов. Итак, я решил выбрать КВО. Буду признателен за лучший способ фиксировать сбои / отмены сеансов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...