gpt4 book ai didi

ios - 在 iOS 上,对于 MVVM 中的 DisposeBag,可以放在 ViewModel 中吗?

转载 作者:行者123 更新时间:2023-12-03 10:52:18 26 4
gpt4 key购买 nike

我是 RxSwift 的新手,在这里我想问一个关于 DisposeBag 应该在哪里的问题。

我的情况是,我已经检索到在 tableview 中显示的项目列表,并且每个项目都有自己的标志来指示它是否被选中。

所以我不只是将结果列表绑定(bind)到 tableview。当用户通过表格 View 导航时,我需要一些逻辑来编辑本地列表。

我创建了一个实例 Variable([Item])ViewModel但如果我将逻辑放在 ViewModel一个 DisposeBag是需要的。

谷歌搜索后,大多数 MVVM+RxSwift 的示例都有 Variable 的实例放置DisposeBagViewModel但有人说应该只放在ViewController .真的吗?如何收听 ObservableViewModel这样我的业务逻辑就可以放在ViewModel ?

最佳答案

一个 DisposeBag除非有充分的理由,否则通常不应将其放置在 ViewModel 中。

一般一个DisposeBag旨在将订阅绑定(bind)到其所有者。 ViewModel 通常不会创建任何订阅,而只是提供 Observables 以便消费者可以订阅它们(例如 ViewController)。

这意味着 ViewController 是通常持有 DisposeBag 的 Controller 。 ,因为它通常使用订阅(而不是 ViewModel 本身)。

关于ios - 在 iOS 上,对于 MVVM 中的 DisposeBag,可以放在 ViewModel 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50382711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com