Latest 0.1.2
License MIT
Platforms ios 8.0

CI Status
Carthage Compatible

MessageDispatcher is a simple utility for sending messages to multiple listeners. All of the listeners are weakly held so you don’t have to worry about manually removing a view controller when it’s popped off of the stack. Check out the tests for examples of how to use MessageDispatcher.

Simple Example

let messageDispatcher = MessageDispatcher<String>()
messageDispatcher.addEventListener(someListener, queue: nil) { message in
    print("Received (message)")
messageDispatcher.alertListeners("Hello, world.")



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

pod "MessageDispatcher"


Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate MessageDispatcher into your Xcode project using Carthage, specify it in your Cartfile:

github "popwarsweet/MessageDispatcher" ~> 0.1.0

Run carthage update to build the framework and drag the built Alamofire.framework into your Xcode project.


popwarsweet, [email protected]


MessageDispatcher is available under the MIT license. See the LICENSE file for more info.

Latest podspec

    "name": "MessageDispatcher",
    "version": "0.1.2",
    "summary": "A simple class for sending messages of a generic type to weakly held listeners.",
    "description": "A simple class for sending messages of a generic type to multiple listeners. Listeners are weakly held and the message dispatcher auto-resizes its table of listeners on message send, or when `resize` is manually called.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "popwarsweet": "[email protected]"
    "source": {
        "git": "",
        "tag": "0.1.2"
    "social_media_url": "",
    "platforms": {
        "ios": "8.0"
    "source_files": "MessageDispatcher/Classes/**/*",
    "pushed_with_swift_version": "3.0"

Pin It on Pinterest

Share This