Ios KVO-observe()changeHandler不为某些属性提供回调

Ios KVO-observe()changeHandler不为某些属性提供回调,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,我正在为UICollectionView开发一个拖放实现,并试图观察它的“”属性,以便在拖放结束/失败时处理相应的被动更改 不确定我是否遗漏了一些琐碎的内容,但是这个特定属性(以及一些相关属性)不会在changeHandler中返回任何回调,尽管值发生了更改 以下是我想做的: dragSessionObserver = self.myCollectionView.observe(\.hasActiveDrag, options: [.new, .initial], changeHandler:

我正在为
UICollectionView
开发一个拖放实现,并试图观察它的“”属性,以便在拖放结束/失败时处理相应的被动更改

不确定我是否遗漏了一些琐碎的内容,但是这个特定属性(以及一些相关属性)不会在
changeHandler
中返回任何回调,尽管值发生了更改

以下是我想做的:

dragSessionObserver = self.myCollectionView.observe(\.hasActiveDrag, options: [.new, .initial], changeHandler: { (cv, change) in
    //blah blah blah
})
当我尝试使用其他属性时,它会按预期工作

p.S.

当我有授权条款时,为什么要遵守


当会话失败/取消时,不会调用委托。我知道捕获失败会话的一种方法是通过计算单元的
dragStateDidChange
函数,该函数在重用和重新加载期间也会被调用。因此,我不能仅仅依靠它进行失败回调。所以,我决定选择KVO。如果有更好的方法来捕获会话失败/取消,您会非常感激

您有过这样的经历吗?我也有类似的问题@simonthumper不,对于我必须实现的一个特殊用例,使用默认拖放规定感觉不必要地复杂。所以我自己也写了类似的东西