在 ReactiveSwift 中包含字典的 MutableProperty
MutableProperty containing a dictionary in ReactiveSwift
我正在使用 ReactiveSwift 创建一个包含字典的结构。我想听字典的变化。
struct Model {
let a: MutableProperty<[String: Int]> = MutableProperty([:])
}
但是,我很难理解如何将此 属性 绑定到侦听器。我想做类似的事情:
textView.reactive.text <~ model.a["key"]
是否有在可变属性中保存字典的解决方案?
只有 MutableProperty 关联值(在您的情况下是字典)能够绑定到绑定目标,而不是字典中的值。这意味着您不能对字典中的值使用 <~
运算符。您需要执行以下操作:
model.a.producer.startWithValues { [weak textView] value in
textView?.text = value["key"]
}
或者你可以这样做:
textView.reactive.text <~ model.a.map { [=10=]["key"] }
我正在使用 ReactiveSwift 创建一个包含字典的结构。我想听字典的变化。
struct Model {
let a: MutableProperty<[String: Int]> = MutableProperty([:])
}
但是,我很难理解如何将此 属性 绑定到侦听器。我想做类似的事情:
textView.reactive.text <~ model.a["key"]
是否有在可变属性中保存字典的解决方案?
只有 MutableProperty 关联值(在您的情况下是字典)能够绑定到绑定目标,而不是字典中的值。这意味着您不能对字典中的值使用 <~
运算符。您需要执行以下操作:
model.a.producer.startWithValues { [weak textView] value in
textView?.text = value["key"]
}
或者你可以这样做:
textView.reactive.text <~ model.a.map { [=10=]["key"] }