使用 RxSwift 的 TabelView 委托方法
Posted
技术标签:
【中文标题】使用 RxSwift 的 TabelView 委托方法【英文标题】:TabelView Delegate methods using RxSwift 【发布时间】:2017-03-30 11:11:39 【问题描述】:我将 RxSwift 用于 TableView。我需要计算动态单元格的高度,之前我是在 WillDisplayCell 委托方法中完成的。我不知道如何将 TableView Delegate 方法与 RxSwift 绑定。有人可以帮忙吗?
【问题讨论】:
可能对你有帮助-raywenderlich.com/138547/… 谢谢,但我需要更准确的答案。 嗨,Mehreen,您的问题解决了吗? 是的。已经解决了。 太棒了,享受编码...... 【参考方案1】:其实你可以。试试这个:
tableView.rx
.willDisplayCell
.subscribe(onNext: cell, indexPath in
//Do your will display logic
)
.disposed(by: disposeBag)
【讨论】:
您能否为其他人详细说明您的答案。大多数时候,你会回答问题是什么,为什么这个修复有效,等等。 @ankitjaininfo 问题是关于如何使用 Rx 绑定 TableViewDelegate 方法,这是我为 willDisplayCell 委托方法编写的一个示例,其他方法也可以这样做。 我不知道我们可以像这样使用 WillDisplay Cell 方法谢谢...【参考方案2】:符合你的视图控制器
class YourViewController: UIViewController, UITableViewDelegate
然后将其添加到viewDidLoad()
tableView.rx.setDelegate(self).addDisposableTo(disposeBag)
然后你写UITableViewDelegate
方法。
【讨论】:
谢谢,我也是这样做的。它工作得很好。我担心是否有其他方法可以执行相同的任务? 不,没有,只是UITableViewDataSource
的相同任务
请问tableView.delegate = self
和使用 rx 设置委托有什么区别?
@Ryan 我觉得他们是一样的
tableView.rx.setDelegate 需要 UIScrollViewDelegate 作为参数。以上是关于使用 RxSwift 的 TabelView 委托方法的主要内容,如果未能解决你的问题,请参考以下文章
如何正确地将 3rd 方库委托转换为 RxSwift Observable
当委托字段不被称为 `delegate` 时实现 `DelegateProxy` (RxSwift/RxCocoa)
将 UIApplicationDelegate 方法转换为 RxSwift Observables
不能在 DelegateProxyType (rxSwift) 中使用 proxyForObject 函数