How do I trigger one block of code whenever any of a set of SignalProducers change? In other words, how do I get rid of my current redundant code:
property1.producer.startWithValues { (value) in
// do stuff with property1.value and property2.value
}
property2.producer.startWithValues { (value) in
// do the same stuff with property1.value and property2.value
}
You can use
combineLatest
to create a new property that contains both values:If either value changes, the block will be triggered.
You can save the block of code as a variable, then you would simply assign that variable to
property1.producer.startWithValues
.