LTResponderEvent 0.1.0

LTResponderEvent 0.1.0

TopSky 维护。



  • 作者:
  • TopSkySir

LTResponderEvent

基于事件响应链的事件管理器

要求

  • Xcode 9+
  • Swift 4.0+
  • iOS 8+

安装

LTResponderEvent 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中:

pod 'LTResponderEvent'

用法

发布事件

将名称定义为事件的键。

static let ShareKey: String = "TestContentView.ShareKey"
static let OrderKey: Int = "TestContentView.OrderKey"

发布事件

post(event: TestContentView.ShareKey)

您还可以带一些内容发布事件。

post(event: TestContentView.ShareKey, ["action": "Share"])

注册事件

添加您想要响应的事件。在此功能中,新事件将默认接受。

override func registerResponderEvent() {
    add(event: TestContentView.ShareKey, #selector(getEvent(_:)))
}

@objc func getEvent(_ userInfo: [AnyHashable: Any]?) {
    self.title = userInfo?["action"] as? String
}

添加

您可以轻松添加事件。

add(event: TestContentView.ShareKey, #selector(getEvent(_:)))

您还可以通过添加一些装饰来影响下一个响应者。

add(event: TestContentView.ShareKey, #selector(getEvent(_:)), false) { (userInfo) -> [AnyHashable : Any]? in
        var result = userInfo
        result?["address"] = "BeiJing"
        return result
}

删除

删除不需要的事件。

remove(event: TestContentView.ShareKey)

替换

您可以替换某些事件。

replace(event: TestContentView.ShareKey, event: TestContentView.OrderKey)

交换

交换两个事件

exchange(event: TestContentView.ShareKey, event: TestContentView.OrderKey)

重置

在交换或删除或添加之后,可以恢复默认事件。

resetResponderEvent()

许可协议

LTResponderEvent遵从MIT协议。更多信息请查阅LICENSE文件。