RxSwift - UITableViewCell上按钮事件处理

本文介绍了如何使用RxSwift处理UITableViewCell内的按钮事件,避免使用代理、闭包或通知。通过自定义cell和设置视图控制器的部分,展示了如何创建disposeBag以确保cell重用时的正确订阅,从而实现点击事件的响应。
摘要由CSDN通过智能技术生成

RxSwift与UITableView的使用,之前文章简单的实现了一下。今天主要是实现如何处理UITableViewCell上的按钮事件。以前我们通常会选择使用代理、闭包、通知这些方法中的一个方法,我个人喜欢闭包。但是现在已经开始使用RxSwift,所以一起来看看RxSwift中我们如何处理按钮事件。

UITableViewCell的内部事件

一般对于cell的点击,会触发其代理方法: 

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        // 处理cell的点击事件
    }
在Rx中,我们处理如下:
   tableView.rx.modelSelected(ItemModel.self)
            .subscribe(onNext: { value in
            print(value)
        }).disposed(by: disposeBag)
或者先获取点击的位置,然后在根据点击的位置获取数据
  tableView.rx.itemSelected.asObservable()
            .subscribe(onNext: { index in
            print(index)
        }).disposed(by: disposeBag)

由上可知对于cell的处理还是很简单的。

UITableViewCell上的按钮事件

比较好的方案就是闭包,前面也谈到了。那么我们如何使用Rx来处理呢?先看一个demo

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值