【发布时间】:2021-10-12 15:05:23
【问题描述】:
我想读取一个属性的值
var checkInEnabled: Driver<Bool> { get }
我只需要在类加载后运行一次代码,所以我不想使用类似的东西:
roomStatus.checkInEnabled
.drive { [weak self] enabled in
if !enabled {
// do something everytime it changes
}
}.disposed(by: disposeBag)
而是像这样:
if roomStatus.checkInEnabled {
//only do something now
}
感谢阅读,
【问题讨论】:
-
据我了解,
Driver是一个序列。如果该序列没有发出任何内容,则它没有要读取的值。听起来您正在尝试做一些与 Reactive 模型作斗争的事情。无论您尝试使用if检查完成什么,都应该响应Driver发出的值。 -
@ScottThompson 是正确的。
Driver不存储状态,它发出值。您的驱动程序中没有要查询的 Bool。 -
如果你能更好地解释你想要做什么,它可能会有所帮助。
checkInEnabled是否与您要运行代码的类在同一类中?