2017-02-28 13 views
2

ReactiveSwiftを使用して辞書を含む構造体を作成しています。私は辞書の変更を聞きたい。ReactiveSwiftで辞書を含むMutableProperty

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

ただし、このプロパティをリスナーにバインドする方法を理解していません。私は次のようなことをしたい:

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

変更可能なプロパティで辞書を保持する解決法はありますか?

答えて

3

MutableProperty関連値(あなたの場合は辞書)は、バインディングターゲットにバインドでき、辞書内の値ではバインドできません。つまり、<~演算子を辞書の値に使用することはできません。

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

おかげで、これは非常に便利です!私は辞書内のプロパティを変更可能にしましたが、辞書は固定サイズであると想定しています。あなたの答えは、未知の場合に作用します。 – sdasdadas

0

それともあなたはこのようにそれを行うことができます:あなたが好きな何かをする必要があります

textView.reactive.text <~ model.a.map { $0["key"] } 
関連する問題