MutableProperty包含ReactiveSwift中的字典

时间:2017-02-28 11:38:00

标签: swift reactive-cocoa reactive-swift

我正在使用ReactiveSwift来创建包含字典的结构。我想听听字典中的变化。

struct Model {
    let a: MutableProperty<[String: Int]> = MutableProperty([:])
}

但是,我很难理解如何将此属性绑定到侦听器。我想做点什么:

textView.reactive.text <~ model.a["key"]

是否存在将字典保存在可变属性中的解决方案?

2 个答案:

答案 0 :(得分:3)

只有MutableProperty关联值(在您的情况下,字典)能够绑定到绑定目标,而不是字典中的值。这意味着您不能对字典中的值使用<~运算符。您需要执行以下操作:

model.a.producer.startWithValues { [weak textView] value in
     textView?.text = value["key"]
}

答案 1 :(得分:0)

或者你可以这样做:

textView.reactive.text <~ model.a.map { $0["key"] }