如何从另一个变量或 Observable 观察一个变量?
Posted
技术标签:
【中文标题】如何从另一个变量或 Observable 观察一个变量?【英文标题】:How to observe a Variable from another Variable or Observable? 【发布时间】:2017-12-19 05:44:37 【问题描述】:假设我有一个var id = Variable<Int>(0)
。我想从另一个名为 team (var team = Observable<Team>
) 的变量或 Observable 中观察它的变化。团队可观察对象将被视图控制器观察并在那里更新 UI。因此, id 变量仅用于创建/更新(通过创建 Team(id: id)
)团队 observable 的值。
我一直在尝试多种方法,例如combineLatest
或subscribe
,但我总是收到编译错误消息:
闭包不能隐式捕获变异的 self 参数
发生了什么事?
【问题讨论】:
你能试着进一步解释你在这里想要做什么吗?这个问题有点不清楚。您尝试过的一些代码也会很棒:) rgoncalv 下面发布的答案是否为您解决了问题? 【参考方案1】:您的Team(id:)
实例很可能是一个按值(值类型)而不是按引用(引用类型)传递的结构,因此它在离开主线程时无法捕获self
。请参阅swift programming guide中的“类和结构”
将您的结构更改为一个类,它应该可以按预期工作:Simple observable struct with RxSwift?
【讨论】:
以上是关于如何从另一个变量或 Observable 观察一个变量?的主要内容,如果未能解决你的问题,请参考以下文章
如何从另一个变量<[Team]> 观察变量<[Game]>?
听 observable 直到或直到另一个 observable 触发