CoreEvents 2.0.2

CoreEvents 2.0.2

Kravchenkov AlexanderAlexander Chausov维护。



  • Alexander Kravchenkov

Build Status codebeat badge codecov

CoreEvents

一个小巧的Swift事件工具包,提供了事件的一些基本类型

FutureEvent

简单的事件。提供经典的行为。

描述

这是一个经典的事件(例如C#中的event),它可以包含许多监听器并将每条新消息多播给这些监听器。该事件只发出新的消息,这意味着如果您向已存在的事件添加新监听器,则最后不会向新监听器发出以前的消息。

类型

  • FutureEvent: Event

示例

var event = FutureEvent<Int>()

event += { value in
  print("Awesome int: \(value)")
}

event.invoke(with: 42)

将打印Awesome int: 42

事件

描述

此事件提供所有Future逻辑,但还额外为新的监听器提供最后发出的值。这意味着,如果你的事件已经发出值,然后再添加一个监听器,则监听器在同时处理之前发出的值。

类型

  • PresentEvent: 事件

示例

var event = PresentEvent<Int>()

event += { value in
  print("Awesome int: \(value)")
}

event.invoke(with: 42)

event += {
    print("Old awesome int: \(value)")
}

将打印

优秀的整数值:42

旧的优秀整数值:42

旧事件

描述

此事件类似于Present,但它会向新的监听器发射所有之前的消息。

类型

  • 过去事件:事件

示例

var event = PastEvent<Int>()

event.invoke(with: 0)
event.invoke(with: 1)

event += { value in
  print("Awesome int: \(value)")
}

event.invoke(with: 2)

将打印

牛十三型整数:0

牛十三型整数:1

牛十三型整数:2

如何安装

pod 'CoreEvents', '~> 2.0.1'

我们还支持 SPM

.package(url: "https://github.com/surfstudio/CoreEvents", .exact("2.0.2"))

警告

在一个文件中,你不能只使用 add,你应该指定一个键 - add(key: String, _ listener: Closure)

版本控制

版本格式是 x.y.z 其中

  • x 是主版本号。只有在大更新(实现变更,添加新功能)时增加。
  • y 是次要版本号。只有在小更新(界面变更)时增加。
  • z 是修订版本号。在有错误修复等情况下增加。

作者

克拉夫琴科·亚历山大

MIT 许可证