ios – 如何在RxSwift中单击哪个按钮

ios – 如何在RxSwift中单击哪个按钮,第1张

概述我为我的按钮数组创建了一个常用 *** 作.我只想点击哪个按钮. 我有一些按钮,比如let buttons = [UIButton(),UIButton(),UIButton(),UIButton()]. let observable = Observable.of(buttons[0].rx.tap, buttons[1].rx.tap, buttons[2].rx.tap, buttons[3].rx 我为我的按钮数组创建了一个常用 *** 作.我只想点击哪个按钮.

我有一些按钮,比如let buttons = [UIbutton(),UIbutton(),UIbutton()].

let observable = Observable.of(buttons[0].rx.tap,buttons[1].rx.tap,buttons[2].rx.tap,buttons[3].rx.tap).merge()    observable.subscribe(onNext: {      print("I want to find which button is tapped.")    }).disposed(by: disposeBag)
解决方法 正确的答案是不首先合并按钮.如果你想做四件不同的事情,那就有四个不同的可观察者.如果他们都做同样的事情,只需使用不同的数据,那么:

let taps = buttons.enumerated().map { (
let Tags = buttons    .map { (.rx.tap,.tag) }    .map { obs,tag in obs.map { tag } }let values = Observable.merge(Tags)
.0,.1.rx.tap) }let toInts = taps.map { index,obs in obs.map { index } }let mergedTaps = Observable.merge(toInts)

经过审核,我真的很喜欢@Sooraj_snr已经删除的答案.使用按钮的标签而不是它们在阵列中的位置.它更强大.

总结

以上是内存溢出为你收集整理的ios – 如何在RxSwift中单击哪个按钮全部内容,希望文章能够帮你解决ios – 如何在RxSwift中单击哪个按钮所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1060123.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存