Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
final class ViewController: UIViewController {
@IBOutlet weak var textView: UITextView!
let pantry = Pantry()
override func viewDidLoad() {
// SignalProducer runs the closure immediately.
pantry.jams.producer.startWithValues { [weak self] (jams) in
self?.textView.text ={ $0.flavour.rawValue }).joined(separator: ", ")
// Signal runs the closure only when the property changes.
pantry.jams.signal.observeValues { (jams) in
print("Pantry has \(jams.count) jars of jam.")
pantry.add(jam: Jam(flavour: .orange))
@IBAction func addJam(_ sender: Any) {
pantry.add(jam: Jam(flavour: .apple))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment