如何通过被动(RxSwift)调用替换UICollectionViewDelegateFlowLayout?

Mar*_*one 7 swift rx-swift rx-cocoa

有没有办法替换方法

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
Run Code Online (Sandbox Code Playgroud)

UICollectionViewDelegateFlowLayout协议使用RxSwift反应的东西?

Dan*_* T. 3

返回值的协议方法是基于拉的,因此与 Rx 基于推的理念不兼容。目前不仅不可能用 Observable 替换该特定方法,而且永远也不可能。

您能做的最好的事情就是通过返回 a 中的值来实现该方法Variable,并使用 Rx 将数据推送到Variable. 当集合视图需要相关项目的大小时,它将通过调用此方法来请求。