如何从另一个变量或 Observable 观察一个变量?
How to observe a Variable from another Variable or Observable?
假设我有一个var id = Variable<Int>(0)
。我想从另一个名为 team (var team = Observable<Team>
) 的 Variable 或 Observable 观察它的变化。团队可观察对象将被视图控制器观察到,并将在那里更新 UI 。因此,id 变量仅服务于 create/update(通过创建 Team(id: id)
)团队可观察值。
我一直在尝试多种方法,例如 combineLatest
或 subscribe
,但我总是遇到编译错误:
Closure cannot implicitly capture a mutating self parameter
怎么回事?
您的 Team(id:)
实例很可能是按值(值类型)而不是按引用(引用类型)传递的结构,因此它无法在离开主线程时捕获 self
.请参阅 swift programming guide
中的 "Classes and Structures"
将您的结构更改为 Class,它应该会按预期工作:
假设我有一个var id = Variable<Int>(0)
。我想从另一个名为 team (var team = Observable<Team>
) 的 Variable 或 Observable 观察它的变化。团队可观察对象将被视图控制器观察到,并将在那里更新 UI 。因此,id 变量仅服务于 create/update(通过创建 Team(id: id)
)团队可观察值。
我一直在尝试多种方法,例如 combineLatest
或 subscribe
,但我总是遇到编译错误:
Closure cannot implicitly capture a mutating self parameter
怎么回事?
您的 Team(id:)
实例很可能是按值(值类型)而不是按引用(引用类型)传递的结构,因此它无法在离开主线程时捕获 self
.请参阅 swift programming guide
将您的结构更改为 Class,它应该会按预期工作: