A simple eventbus written in Swift.
To add SwiftyBus
as a dependency do the following
Declare the dependency in your Package.swift
.package(url: "https://github.com/Hippo/SwiftyBus.git", from: "1.0.2")
Then you will need to add it to your target as such
.product(name: "SwiftyBus", package: "SwiftyBus")
import SwiftyBus
final class MyEvent: Event {
let myString: String
init(myString: String) {
self.myString = myString
}
}
let bus = SwiftyBus()
// optionally store the listener
let listener = bus.listen(MyEvent.self) { myEvent in
print(myEvent.myString)
}
// For async listeners
bus.async(MyEvent.self) { myEvent in
print(myEvent.myString)
}
bus.post(MyEvent(myString: "Posting event"))
bus.unregister(listener)