Swift 事件中心

swift-version spm CocoaPods Build Status SonarCloud Coverage SwiftEventCenter

关于

Swift 事件中心用于创建自定义事件并响应它们。

这个想法是从零开始构建一个简单的事件中心,以

这个过程中有趣的是,在构建它的同时,我对 Notification Center (通知中心) 的工作原理有了更深入的理解。

为了方便新手,我决定保留 Apple 的命名方式。

注意: EventCenter 并非旨在完全替代 Notification Center (通知中心)。它是一个更简单的替代方案(如“更易于使用,但在功能方面也更简单”),应该足以满足简单的项目需求。

功能特性

EventCenter 允许你

安装

使用 SPM,将以下内容添加到你的 Package.swift 文件的依赖项中

.package(url: "https://github.com/ladislas/SwiftEventCenter", from: "1.1.1")

使用方法

Event 只是 Notification 的一个 typealias (类型别名)。

请参阅 docsExamplesTests 以获取更多信息。

import EventCenter

let ec = EventCenter()

...

ec.addObserver(forEvent: Event.Name("event1"), name: "obs1", callback: { event: Event in 

	if let obj = event.object {
		print("Hello, \(obj)!")	
	}

})

...

ec.post(event: Event.Name("event1"), object: "World")

作者

用 ❤️ 由

许可证

Apache 2.0 @ Ladislas de Toldi

最初的工作

这个项目基于伟大人物的想法。最初的想法由 Stephen Haney 创建。之后由 Robin WalterSwift-Events 进行了改进。最初我想 fork Robin 的 repo,但在花了几个小时研究它之后,我决定重写大部分内容。来自 Stephen HaneyRobin Walter 的原始工作基于 MIT 许可证。