如何从另一个变量<[Team]> 观察变量<[Game]>?
Posted
技术标签:
【中文标题】如何从另一个变量<[Team]> 观察变量<[Game]>?【英文标题】:How to observe Variable<[Game]> from another Variable<[Team]>? 【发布时间】:2017-12-17 16:03:07 【问题描述】:如何从一组团队(Variable<[Team]>
)中观察Variable<[Game]>
,以便每次出现Game
(Variable<[Game]>
在游戏数组被修改后发生变化)时,Team
的数组应该相应地更新,例如为参与比赛的两支球队分配积分、胜利、平局、失败和净进球数?
我尝试过使用subscribe(onNext:)
,但正如我所读到的,视图模型不应该包含DisposeBag
s 这样的东西。由于我是 RxSwift 新手,如何从 Variable<[Team]>
观察 Variable<[Game]>
的变化?
【问题讨论】:
你说游戏“上来”是什么意思? 我从服务器或数据库中检索它。不过,我不认为问题取决于我如何获得 Game,而是如何将 Team 数组链接到 Game 数组 @ryantxr,查看我的更新。我所说的“游戏出现”的意思是Variable<[Game]>
通过附加游戏而发生变化
您真的需要“[团队]”作为变量吗?如果不是,最好将其定义为 let teams = games.scan(...) 甚至 games.flatMap(...)从 RxSwift 4.0.0 开始,Variable 被弃用,取而代之的是 BehaviorRelay。
【参考方案1】:
如何将团队数组链接到游戏数组
那么,如何引入Teams
对象或将games
移动到Team
对象。您可以将推送接口封装在Team
中,也可以将其作为依赖项传递。您遇到的实际问题似乎是您的 Team
和 Game
只是 DTO。使它们成为对象而不是数据结构。
【讨论】:
以上是关于如何从另一个变量<[Team]> 观察变量<[Game]>?的主要内容,如果未能解决你的问题,请参考以下文章