0

我有兴趣将单个 Observable 绑定到多个接收器。我怎样才能简洁地做到这一点?

目前,我不得不求助于绑定每个属性:

model.sectionEnabled.map{!$0}.bind(to: vc1.view.reactive.isHidden)
model.sectionEnabled.map{!$0}.bind(to: vc2.view.reactive.isHidden)
model.sectionEnabled.map{!$0}.bind(to: vc3.view.reactive.isHidden)
....

如果可以使用以下构造怎么办?:

model.sectionEnabled.map{!$0}
.bind(to: vc1.view.reactive.isHidden)
.bind(to: vc2.view.reactive.isHidden)
.bind(to: vc3.view.reactive.isHidden)
.bind(to:.......

是否已经可以与框架的当前实现进行这种绑定?

4

1 回答 1

1

也许这就是你想要的:

if let disabled = model.sectionEnabled.map{!$0} {
    for vc in [vc1, vc2, vc3] {
        disabled.bind(to: vc.view.reactive.isHidden)
    }
}
于 2019-06-25T14:31:27.113 回答