【问题标题】:How to observe Variable<[Game]> from another Variable<[Team]>?如何从另一个变量<[Team]> 观察变量<[Game]>?
【发布时间】:2017-12-17 16:03:07
【问题描述】:

如何从一组团队(Variable&lt;[Team]&gt;)中观察Variable&lt;[Game]&gt;,以便每次出现GameVariable&lt;[Game]&gt; 在游戏数组被修改后发生变化)时,Team 的数组应该相应地更新,例如为参与比赛的两支球队分配积分、胜利、平局、失败和净进球数?

我尝试过使用subscribe(onNext:),但正如我所读到的,视图模型不应该包含DisposeBags 这样的东西。由于我是 RxSwift 新手,如何从 Variable&lt;[Team]&gt; 观察 Variable&lt;[Game]&gt; 的变化?

【问题讨论】:

  • 你说游戏“上来”是什么意思?
  • 我从服务器或数据库中检索它。不过,我不认为问题取决于我如何获得 Game,而是如何将 Team 数组链接到 Game 数组
  • @ryantxr,查看我的更新。我所说的“游戏出现”的意思是 Variable&lt;[Game]&gt; 通过附加游戏而发生变化
  • 您真的需要“[团队]”作为变量吗?如果不是,最好将其定义为 let teams = games.scan(...) 甚至 games.flatMap(...)从 RxSwift 4.0.0 开始,Variable 被弃用,取而代之的是 BehaviorRelay。

标签: ios iphone swift rx-swift rx-cocoa


【解决方案1】:

如何将团队数组链接到游戏数组

那么,如何引入Teams 对象或将games 移动到Team 对象。您可以将推送接口封装在Team 中,也可以将其作为依赖项传递。您遇到的实际问题似乎是您的 TeamGame 只是 DTO。使它们成为对象而不是数据结构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    相关资源
    最近更新 更多