QTEventBus-iOS事件总线,支持AppDelegate解耦等功能
QTEventBus是一个适用于iOS的事件总线,用于实现“发布 - 订阅”的消息通信模式。它支持强类型/弱类型自动取消订阅,能快速兼容NSNotification,有单元测试覆盖,支持AppDelegate解...
标签:Github项目AppDelegate解耦 iOS QTEventBus 事件总线 发布-订阅项目标题: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开发者提供了一个功能丰富的事件总线解决方案,在消息通信、解耦等方面有着重要的意义。如果你对这个项目有任何想法或者建议,欢迎在下方留言参与讨论。
项目地址
数据统计
数据评估
本站链氪巴士提供的QTEventBus-iOS事件总线,支持AppDelegate解耦等功能都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
GKPageScrollView是一个UIScrollview嵌套滑动库,主要参考JXPagingView并改进。GKPageSmoothView也用于滑动嵌套。支持上下滑动、左右滑动、手势返回等多种操作。支持UITableView的sectionView悬停效果、多种分页控件。可实现导航栏颜色渐变、头图下拉放大、主页和列表页的下拉刷新和上拉加载等。有手动安装、CocoaPods安装、SwiftPackageManager安装三种方式且针对使用中的常见问题给出了解决办法。该库不断更新完善,对于开发类似微博、抖音、网易云等APP的个人详情页滑动效果很有帮助。