Popularity
0.2
Declining
Activity
2.3
Declining
6
1
0

Code Quality Rank: L5
Monthly Downloads: 0
Programming language: Swift
License: MIT License
Tags: Events    
Latest version: v1.3.0

SSEventFlow alternatives and similar libraries

Based on the "Events" category

Do you think we are missing an alternative of SSEventFlow or a related project?

Add another 'Events' Library

README

SSEventFlow

Version License Platform

SSEventFlow is a type safe alternative to NotificationCenter, inspired by Flux.

The Flux Application Architecture was recently invented by Facebook. See video to how it works

Usage

Open the SSEventFlow.xcodeproj file and run the Example project.

Requirements

  • iOS 13.0+ / macOS 10.15+
  • Xcode 11.4+
  • Swift 5.2+

Installation

SSEventFlow is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SSEventFlow"

Example of how to send out notifications

class ParentViewController: UIViewController {
    @IBAction func redButtonAction(_ sender: Any) {
        PickedColorEvent(color: UIColor.red, name: "RED").fire()
    }
    @IBAction func greenButtonAction(_ sender: Any) {
        PickedColorEvent(color: UIColor.green, name: "GREEN").fire()
    }
    @IBAction func blueButtonAction(_ sender: Any) {
        PickedColorEvent(color: UIColor.blue, name: "BLUE").fire()
    }
    @IBAction func resetButtonAction(_ sender: Any) {
        ResetEvent().fire()
    }
}

Example of how to listen for notifications

class ChildViewController: UIViewController {
    @IBOutlet weak var colorName: UILabel!

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        flow_start()
    }

    override func viewDidDisappear(_ animated: Bool) {
        flow_stop()
        super.viewDidDisappear(animated)
    }
}

extension ChildViewController: FlowDispatcher {
    func flow_dispatch(_ event: FlowEvent) {
        if let e = event as? PickedColorEvent {
            view.backgroundColor = e.color
            colorName.text = e.name
        }
        if event is ResetEvent {
            view.backgroundColor = nil
            colorName.text = ""
        }
    }
}

Support

You are welcome to use SSEventFlow free of charge.

If you are using and enjoying my work, maybe you could donate me a beer (or if you don’t drink – a coffee and bagel will do just fine, a good kind of bagel though, you know… with wonderful stuff inside to make it glorious).

Please donate via PayPal and just like they say on TV – give generously! It motivates me to keep working on this.

License

MIT


*Note that all licence references and agreements mentioned in the SSEventFlow README section above are relevant to that project's source code only.