ios – RxSwift从Observable序列中的一个项目获取值

ios – RxSwift从Observable序列中的一个项目获取值,第1张

概述我正在尝试逐渐将我的应用程序转换为Rx Swift / MVVM.但我认为我做错了一些事情. 在这个例子中,我有一个包含这些特定信息的静态表. let itens = Observable.just([ MenuItem(name: GlobalStrings.menuItemHome, nameClass: "GPMainVC"), MenuItem(n 我正在尝试逐渐将我的应用程序转换为Rx Swift / MVVM.但我认为我做错了一些事情.

在这个例子中,我有一个包含这些特定信息的静态表.

let itens = Observable.just([        MenuItem(name: GlobalStrings.menuItemHome,nameClass: "GPMainVC"),MenuItem(name: GlobalStrings.menuItemProfile,MenuItem(name: GlobalStrings.menuItemLevels,nameClass: "GPLevelsVC"),])

当用户选择一个单元格时,我需要知道模型(MenuItem)和索引,但我无法做到这一点

tableVIEw.rx        .itemSelected        .map { [weak self] indexPath in            return (indexPath,self?.modelVIEw.itens.elementAt(indexPath.row))        }        .subscribe(onNext: { [weak self] indexPath,model in            self?.tableVIEw.reloadData()            //can´t get MenuItem because model its a observable            //self?.dIDSelect((indexPath as NSIndexPath).row,name.nameClass)        })        .adddisposableto(disposeBag)

提前致谢

解决方法 你必须做下一步:

>使用变量.我认为在您的情况下这是一个更好的解决方案.

let itens = Variable([    MenuItem(name: GlobalStrings.menuItemHome,])

>如果要从单击的单元格中获取索引和模型,请使用以下代码.

tableVIEw.rx.itemSelected.map { index in    return (index,self.items.value[index.row])}.subscribe(onNext: { [weak self] index,model in    // model is MenuItem class}).adddisposableto(disposeBag)

我希望我的回答对你很有帮助.如果您想在任务中获得有关RxSwift机会的更多信息,请与我们联系.祝好运!

总结

以上是内存溢出为你收集整理的ios – RxSwift从Observable序列中的一个项目获取值全部内容,希望文章能够帮你解决ios – RxSwift从Observable序列中的一个项目获取值所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1062781.html

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

发表评论

登录后才能评论

评论列表(0条)

保存