Eventitic
用于分配和监听事件的库。
使用方法
事件通过 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 文件。