链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

QTEventBus-iOS事件总线,支持AppDelegate解耦等功能

QTEventBus是一个适用于iOS的事件总线,用于实现“发布 - 订阅”的消息通信模式。它支持强类型/弱类型自动取消订阅,能快速兼容NSNotification,有单元测试覆盖,支持AppDelegate解耦,还支持基于响应链的局部总线。其系统要求为XCode9+、iOS8+...

访问官网 →

项目标题:QTEventBus-iOS事件总线,支持AppDelegate解耦等功能

项目简介

QTEventBus是一个适用于iOS的事件总线,用于实现“发布-订阅”的消息通信模式。它支持强类型/弱类型自动取消订阅,能快速兼容NSNotification,有单元测试覆盖,支持AppDelegate解耦,还支持基于响应链的局部总线。其系统要求为XCode9+、iOS8+。

项目目的

该项目旨在为iOS开发提供一个方便的事件总线解决方案,通过实现“发布-订阅”模式来优化消息通信,并且在解耦AppDelegate以及基于响应链的局部总线方面提供支持,从而提高iOS应用开发的效率和可维护性。

核心技术

在核心技术方面,它支持强类型和弱类型的自动取消订阅机制。在订阅事件时,如使用QTSub(object, className)宏,可在object的生命周期内订阅className事件,并在object释放时自动取消订阅。对于事件的发布,可通过[QTEventBus.shareddispatch:event]来实现。同时,能快速兼容NSNotification,这也是其在消息通信方面的重要技术体现。

实践案例

例如,新建一个类作为事件,如QTLoginEvent并实现QTEvent协议,可以携带任意数据,像userId和userName等。然后可以使用宏来订阅这个事件,如在主线程订阅可使用QTSubMain。这展示了在实际的iOS开发场景中,如何运用QTEventBus来进行事件的处理。

项目总结

QTEventBus为iOS开发者提供了一个功能丰富的事件总线解决方案,在消息通信、解耦等方面有着重要的意义。如果你对这个项目有任何想法或者建议,欢迎在下方留言参与讨论。

项目地址

GitHub链接直达