Eventitic 5.0.0

Eventitic 5.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2019年10月
SPM支持 SPM

Hironori Ichimiya 维护。



Eventitic 5.0.0

  • Hironori Ichimiya

Eventitic

CI Status Version License Platform Carthage compatible

用于分配和监听事件的库。

使用方法

事件通过 EventSource 进行分配。

let source = EventSource<String>()

// listen
let listener = source.listen { message in
    print(message)
}

// dispatch
source.fire("Hello, World!")

// unlisten
listener.unlisten()

存在一个实用类 ListenerStore,它包含监听器,并且可以在之后取消全部监听。

let store = ListenerStore()

let source1 = EventSource<String>()
let source2 = EventSource<Int>()

// listen
source1.listen { message in
    print("listener 1: \(message)")
}.addToStore(store)

source1.listen { message in
    print("listener 2: \(message)")
}.addToStore(store)

source2.listen { value in
    print("listener 3: \(value)")
}.addToStore(store)

// dispatch
source1.fire("foo")
source2.fire(10)

// unlisten all
store.unlistenAll()

要求

  • iOS 8.0+
  • OS X 10.9+
  • watchOS 2.0+
  • tvOS 9.0+
  • Swift 5.1+

安装

CocoaPods

Eventitic 可通过 CocoaPods 获取。安装它,只需将以下行添加到您的 Podfile

use_frameworks!
pod "Eventitic", '~> 5.0'

Carthage

Eventitic 可通过 Carthage 获取。要安装它,只需将以下行添加到您的 Cartfile

github "hironytic/Eventitic" ~> 5.0

Swift 包管理器

Eventitic 可通过 Swift 包管理器 获取。要安装它,请按照以下示例将依赖性添加到您的 Package.swift 文件中

import PackageDescription

let package = Package(
    name: "Hello",
    dependencies: [
        .package(url: "https://github.com/hironytic/Eventitic.git", from: "5.0.0"),
    ],
    ...
)

作者

Ichimiya Hironori,[email protected]

许可证

Eventitic 根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。