EventKit 1.0

EventKit 1.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2016年3月
SPM支持 SPM

Yuki Mishima 维护。



  • 出自
  • Yuki Mishima

EventHub

Swift 中的类型安全和便捷的观察系统。

快速示例

struct MessageEvent: EventType {
    let message: String
}

EventHub.addObserver(self) { (event: MessageEvent) in
    print(event.message) // -> 😜
}
EventHub.post(MessageEvent(message: "😜"))

使用说明

  1. 定义 adopt EventType 协议的事件
    事件可以是类、结构体或枚举。

    enum LoginEvent: EventType {
        case Success(id: String)
        case Failure(error: ErrorType)
    }
  2. 添加观察者和块
    调用 addObserver(observer:thread:block:)

    • observer:观察者对象。如果观察者对象被销毁,观察将被自动移除,并且块不会调用。
    • thread:可选(默认为 nil)。它确定哪个线程执行块。如果是 nil,则块会在发布线程上同步执行。
    • block:回调闭包。块接收定义的事件。
    EventHub.addObserver(self, thread: .Main) { (event: LoginEvent) in
        switch event {
        case .Success(let id):
            print(id)
        case .Failure(let error):
            print(error)
        }
    }
  3. 发布事件

    EventHub.post(LoginEvent.Success(id: id))

要求

Swift 2.1

安装

EventHub 可以通过 CocoaPods 使用。要安装,只需将以下行添加到您的 Podfile 中:

pod "EventHub"

作者

Yuki Mishima, [email protected]

许可

EventHub 遵循 MIT 许可证。请参阅 LICENSE 文件获取更多信息。