gpt4 book ai didi

Swift Bond 框架 - 多对一关系 - 如果发生任何变化则触发单个命令

转载 作者:行者123 更新时间:2023-11-30 10:41:12 26 4
gpt4 key购买 nike

考虑以下示例:

给定一组可观察值:

let value1 = Observable(false)
let value2 = Observable(false)
let value3 = Observable(false)

let isSaveButtonEnabled = Observable(false)

我想在每次发生变化时执行此代码:

func validate() {
{...}
isSaveButtonEnabled.value = true
}

目前,配置这种关系的唯一方法是为每个 Observable 单独添加一个闭包:

value1.onNext {
self.validate()
}

value2.onNext {
self.validate()
}

....

目标:

我想使用类似于以下的语法对其进行编程:

[value1, value2, value.....].onAnyChange {
self.validate()
}

最佳答案

我想到的事情:

private func configureValidationLogic() {
[vaule1.eraseType(),
vaule2.eraseType(),
vaule3.eraseType(),
vaule4.eraseType(),
vaule5.eraseType()].forEach { (signal) in
signal.observeNext { [weak self] in
guard let self = self else {return}
self.validate()
}
}
}

也许,有一种更好的(内置在库中)方法可以实现相同的目的。

关于Swift Bond 框架 - 多对一关系 - 如果发生任何变化则触发单个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56758813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com